使用this
關鍵字在一個對象的函數內工作,但引用其他功能時沒有this
沒有。當我在對象之前放棄這些功能時,這兩種方式都有效。爲什麼?來自IIFE的對象與返回對象之間的區別
var Obj = {
func1: function() {
console.log(this.func2()); // works
console.log(func2()); // doesn't work
},
func2: function() {
return 5;
}
};
Obj.func1();
但這樣做在IIFE相同:
var Obj = (function() {
function func1() {
console.log(this.func2()); // works
console.log(func2()); // works
}
function func2() {
return 5;
}
return {
func1: func1,
func2: func2
};
})();
Obj.func1();
好吧,這是不正確的。看到接受的答案 – RLaaa