這是《你不知道js》里面的兩段代碼,第一段代碼this是指向調用的位置的,也就是obj2。不明白為什么第二段代碼this不指向obj,而是指向全局了。functionfoo(){console.log(this.a);}varobj2={a:42,foo:foo};varobj1={a:2,obj2:obj2};obj1.obj2.foo();//42functionfoo(){console.log(this.a);}varobj={a:2,foo:foo};varbar=obj.foo;//函數別名!vara="oops,global";//a是全局對象的屬性bar();//"oops,global"
不明白這兩段代碼的this指向問題
MYYA
2019-05-25 15:41:50
