这三题原本是公司为招聘的前端开发工程师定职级准备的题目,分别考察了库里化、中间件、回调函数的应用。独乐乐不如众乐乐,分享给大家,共同提升对原生js的理解~
话不多说,亮题~
大家如果有更好的实现方法欢迎提出探讨~
1.编写curry.js
实现函数的分步调用
var curry = require('./curry.js');// <- this is the file you make;
function add(a, b) {
return a + b;
}
var curried = curry(add);
console.log(curried(1)(2));
function add2(a, b, c) {
return a + b + c;
}
var curried2 = curry(add2);
console.log(curried2(1)(2)(3));
function add3(a, b, c, d) {
return a + b + c + d;
}
var curried3 = curry(add3);
console.log(curried3(1)(2)(3)(4));
2.编写middleware.js
实现中间件类,可以使用use添加中间件,go执行
var Middleware = require('./middleware.js'); // <- this is the file you make;
var middlewa