我最近開始學習JavaScript,同時做一些實驗用的代碼停留在此代碼:瞭解內部函數在Javascript
var k = {
ab: "hi",
func: function() {
console.log("inner1" + this.ab);
(function() {
console.log("inner2 " + this.ab)
}())
}
};
k.func();
此代碼給我結果「inner1喜」和「inner2未定義」。
我不明白爲什麼它的undefined
在第二個console.log
?
函數內部(..()),被稱爲IIFE,具有窗口環境(這一點),但你並沒有在窗口對象定義AB – Evgeniy