前端面试题
从进公司到现在,公司的那份前端面试题好像就没变过,一些题目可能有些过时或者比较偏题,然后每次有同行来面试,就是看着简历一顿尬聊,所以在此个人为公司整理出一份前端面试题。
读得懂的就是好代码,讲究一个可读性(其实是想掩饰我的菜而已,嘘。。),不过确实也要考虑代码设计,扩展性各方面。
事情的缘故源于项目中的一段代码,第一眼看,What the hell,这是啥!第二遍看,excuse me???第三第四遍,哦~有点理解了,第五遍,还是不懂。。下面上代码(由于项目原因,并非项目中真实代码片段)。
const index = _.findIndex(routes, _.curry(_.isEqual)(action.route))
这是一段路由reducer中的代码,我当然知道findIndex用法,也当然知道返回的是一个
index`。第一个参数是一个数组,但是第二个参数是什么鬼?
如果你一眼就看明白了,那就不用继续看下去了。。可否留个联系方式收我为徒(真心的)。
不理解的话,那就和我一样一步一步的来分析下吧。
说实话,这些在平日开发用的真不是很多,一般都是面试会碰到,不过肯定也要去了解和知道,这里就简单的讲下其中的一些技巧型用法和区别。
维基百科是这么解释的:
在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。这个技术由克里斯托弗·斯特雷奇以逻辑学家哈斯凯尔·加里命名的,尽管它是Moses Schönfinkel和戈特洛布·弗雷格发明的。
4月的上海,居然有30°的高温,果然是一个没有春天的城市。这样的高温下怎么能静得下心撸码呢,刚看过的内容转头就忘了,那就让我们一起来复习下redux
中的compose
到底是怎么工作的!
|
|
|
|
引用
Markdown是一种轻量级标记语言,它以纯文本形式(易读、易写、易更改)编写文档,并最终以HTML格式发布。
Markdown也可以理解为将以MARKDOWN语言编写的语言转换成HTML内容的工具,最初是一个perl脚本Markdown.pl。