var a=0;
var obj = {
a:'obj',
b:function(a){
console.log(this.a);
}
}
obj.b(1);//obj (1)
obj.b.call(this,1);//0 (2)
obj.b.apply([1]);//undefined (3)
var a=0;
var obj = {
a:'obj',
b:function(a){
setTimeout(function(){
console.log(this.a);
},1000)
}
}
obj.b(1);//0 (4)
obj.b.call(this,1);//0 (5)
obj.b.call(1);//0 (7)
obj.b.apply([1]);//0 (8)
obj.b.apply(null,[1]);//0 (9)
obj.b.apply(this,[1]);//0 (10)
问题一:比较(1)和(4),setTimeout所起的作用是什么呢?
问题二:比较(3)和(8),为何(8)中就有值,而(3)没有?
问题三:为何传入值没有任何作用?
相关分类