本人正在看《你不知道的javascript上卷》,第80頁其有關使用this來隱式引用函數的詞法作用域錯誤代碼如下:function foo(){ var a = 2; this.bar(); //1}function bar(){ console.log(this.a);}foo();我在VS Code上將代碼注釋1處的this給刪掉之后(如書中所說)發現盡管代碼沒有出錯但是結果為undefined。在單步調試查看調用堆棧時是foo->bar,也就是按照我所想的bar()中this綁定到了foo函數對象上。百思不得其解之后在全局和bar函數中都另外再定義了不同值的a變量,然而結果還是undefined。。。突然想到是不是因為自動使用嚴格模式的原因,然而在各個瀏覽器控制臺上測試同樣是undefined的結果,無解。。。。。求助?。∵@個this到底綁定到哪里了??!
關于this的又一個問題
呼如林
2019-03-21 18:14:58