0
如果我有一堆getter和setter的應用程序,那麼我認爲我需要使用閉包來保持setter的值,不是嗎?使用原型來定義一個getter/setter
這是我到目前爲止,但我認爲這兩個方法應該返回函數(閉包)。我不認爲我應該使用this.local.result,因爲兩者會發生衝突。
myApplication = function(){
this.local = {};
};
myApplication.prototype.myFirstMethod = function(){
if (arguments.length) {
this.local.result = arguments[0];
} else {
return this.local.result;
}
};
myApplication.prototype.mySecondMethod = function(){
if (arguments.length) {
this.local.result = arguments[0];
} else {
return this.local.result;
}
};
var app = new myApplication();
app.myFirstMethod(1);
result = app.myFirstMethod();
console.log(result);
但不會對參數的關鍵字混淆通過「return function()」並認爲有_never_任何參數? –
不可以。返回的函數的作用與其他函數相同,區別在於它可以訪問數據變量。閉包返回函數對象,而不是執行它。 – levi
嗯。我越來越未被捕獲TypeError:無法設置未定義的屬性'myFirstMethod'。我不明白在這裏需要一個IIFE。 –