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)沒有?問題三:為何傳入值沒有任何作用?
對象的方法中 setTimeout作用
皈依舞
2018-09-03 13:11:37