1.箭头函数不会创建自己的this,只会从自己作用域链的上一层继承this。
function Person(){
this.age = 0;
setInterval( ()=>{
// this正确地指向p实例
console.log(this === p) // true
this.age ++;
},1000);
}
var p = new Person();
2.通过call、apply或bind调用 :通过这些方法调用一个函数时,只能传递采纳数,第一个参数会被忽略。
3.使用箭头函数作为方法
var obj = {
i:10,
b:()=>console.log(this.i, this); // undefined window{...}
c:function(){
console.log(this.i, this); // 10 Object{..}
}
};
obj.b();
obj.c();
4.箭头函数不能用作构造器和new一起用就会抛出错误
var Foo = () => {};
var foo = new Foo();
// TypeErroe: Foo is not a constructor
5.匿名函数
let show = function(){console.log('匿名');}
show(); // 匿名函数
let show1 = () => {console.log('匿名1');}
show1();