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)没有?问题三:为何传入值没有任何作用?
添加回答
举报
0/150
提交
取消