HM-Blog


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 搜索

前端面试题

发表于 2017-05-11
字数统计 476字 | 阅读时长 2分钟

前端面试题

从进公司到现在,公司的那份前端面试题好像就没变过,一些题目可能有些过时或者比较偏题,然后每次有同行来面试,就是看着简历一顿尬聊,所以在此个人为公司整理出一份前端面试题。

阅读全文 »

一段基于lodash之看不懂的代码

发表于 2017-05-02 | 分类于 lodash
字数统计 880字 | 阅读时长 3分钟

什么样的代码算是好代码?

读得懂的就是好代码,讲究一个可读性(其实是想掩饰我的菜而已,嘘。。),不过确实也要考虑代码设计,扩展性各方面。
事情的缘故源于项目中的一段代码,第一眼看,What the hell,这是啥!第二遍看,excuse me???第三第四遍,哦~有点理解了,第五遍,还是不懂。。下面上代码(由于项目原因,并非项目中真实代码片段)。

const index = _.findIndex(routes, _.curry(_.isEqual)(action.route))   

这是一段路由reducer中的代码,我当然知道findIndex用法,也当然知道返回的是一个index`。第一个参数是一个数组,但是第二个参数是什么鬼?
如果你一眼就看明白了,那就不用继续看下去了。。可否留个联系方式收我为徒(真心的)。
不理解的话,那就和我一样一步一步的来分析下吧。

阅读全文 »

javascript中的callee、caller、call、apply、bind的用法与区别

发表于 2017-04-29 | 分类于 javascript
字数统计 883字 | 阅读时长 3分钟

说实话,这些在平日开发用的真不是很多,一般都是面试会碰到,不过肯定也要去了解和知道,这里就简单的讲下其中的一些技巧型用法和区别。

阅读全文 »

js中的柯里化(currying)

发表于 2017-04-23 | 分类于 javascript
字数统计 948字 | 阅读时长 4分钟

什么是currying?

维基百科是这么解释的:

在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。这个技术由克里斯托弗·斯特雷奇以逻辑学家哈斯凯尔·加里命名的,尽管它是Moses Schönfinkel和戈特洛布·弗雷格发明的。

阅读全文 »

redux之compose源码分析

发表于 2017-04-16 | 分类于 redux
字数统计 1,307字 | 阅读时长 5分钟

4月的上海,居然有30°的高温,果然是一个没有春天的城市。这样的高温下怎么能静得下心撸码呢,刚看过的内容转头就忘了,那就让我们一起来复习下redux中的compose到底是怎么工作的!

话不多说,上源码!下面是compose源码的es5写法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function compose() {
for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
funcs[_key] = arguments[_key];
}
if (funcs.length === 0) {
return function (arg) {
return arg;
};
}
if (funcs.length === 1) {
return funcs[0];
}
var last = funcs[funcs.length - 1];
var rest = funcs.slice(0, -1);
return function () {
return rest.reduceRight(function (composed, f) {
return f(composed);
}, last.apply(undefined, arguments));
};
}
阅读全文 »

第二篇文章

发表于 2017-02-25 | 分类于 es6
字数统计 47字 | 阅读时长 1分钟

这是标题

百度

1
2
3
4
5
6
7
8
9
10
11
12
13
14
props: {
toggleSlider: () => void,
selectTab: () => void,
displayTabBar: () => void,
isDisplayTabBar: boolean,
selectedTab: number,
hasAllRead: boolean,
updateMessagesList: (message:string) => void,
salemanAndProductList: (empNo:string) => void,
toggleMessageFlow: () => void,
isOnHomePage: boolean,
toIntellService:()=>void,
empNo: string,
}
  1. 1
  2. 2
  3. 3
  • 1
  • 2
  • 3

引用

markdow语法的基本使用

发表于 2017-02-25 | 分类于 markdown
字数统计 574字 | 阅读时长 2分钟

1. markdown是什么?

Markdown是一种轻量级标记语言,它以纯文本形式(易读、易写、易更改)编写文档,并最终以HTML格式发布。
Markdown也可以理解为将以MARKDOWN语言编写的语言转换成HTML内容的工具,最初是一个perl脚本Markdown.pl。

阅读全文 »
12
HM

HM

叩首问路 码梦为生

17 日志
5 分类
10 标签
GitHub 知乎
友情链接
  • 懒蛋蛋的Blog
  • 二蛤的Blog
© 2018 HM
由 Hexo 强力驱动
主题 - NexT.Pisces