箭头函数的this指向定义时的对象。
var obj = {a:'obj'};
var fun = function(){
setTimeout(()=>console.log(this),2000);
};
var fun1 = ()=>{
setTimeout(()=>console.log(this),2100);
};
fun();
fun.call(obj);
fun1();
fun1.call(obj);
有点不理解上述例子的输出,fun和fun1的输出都是window,fun.call输出obj,fun1.call输出window。
主要的疑问在于为什么fun1不可用绑定obj,fun可以绑定。
相关分类