箭头函数,简化的匿名函数
(parameters) => { statements };
- 没有参数
() => { stamements };
- 只有一个参数,可省略()
parameters => { statements };
- 如果返回值只是一个表达式,可以省略{}
parameters => expression;
x => x*2;
- this指向, 没!有!局部this的绑定
functionCounter(){
this.num = 0;
this.timer = setInterval(()=>{
this.num ++;
console.log(this.num);
},1000)
}
var counterNum = new Counter(); //1,2,3...
- 多个箭头函数
let add = x => y => x+y;
解析成es5
var add = function add(x){
return function(y){
return x + y;
}
}
调用 add(2);
function(y){
return x +y;
}
调用add(2)(3);
// 5
总结
- 作用等同于
(x,y) => x+y;
- 目的 : 最后一次调用之前的函数调用,是在为最后一次执行传递参数(至于为什么这么用,我也不理解)
柯里化函数的雏形 - 惰性求值(能不能说人话,小白表示听不懂)
- 可以提前传递部分参数
网友评论