代码如下:
function foo(){
return (a)=>{//返回一个箭头函数
console.log(this.a)//this继承自foo()
}
}
var obj1 = {a:2};
var obj2 = {a:3};
var bar = foo.call(obj1);
bar.call(obj2);//输出是什么? 为什么?
会输出2
这里的call是想强行绑定this作用域,结果是失败的,如果call生效,输出结果就是3了,但是绑定失败,当前this还是obj1的,而不是obj2的