function test1(){
this.a=55;
return {
a:10,
b:()=>{return this;}
};
}
function test2(){
this.a=55;
return{
a:10,
b:function(){return this;}
};
}
var f1=new test1();
var f2=new test2();
console.log(f1.b());//输出test1 {a:55}
console.log(f2.b());//输出{a:10,b:[Function b]}
不理解的一点在于:箭头函数是词法作用域,但是返回的时候莫名奇妙绑定到了构造函数上,按道理不应该也是在生成的对象上嘛
你只需要理解是箭头函数跟普通函数不一样,而不是箭头函数里的
this
跟普通函数里的this
(性质)不一样。箭头函数中的
this
只不过是跳过了箭头函数而已,不是静态绑定。