1
我目前正在學習使用javascript進行原型設計,我在下面寫道,當我使用它時它似乎工作正常。我的問題是爲什麼我需要()在原型聲明的末尾,沒有,如果我試圖讓對象的實例,我得到一個錯誤。javascript原型如何創建對象
var MyTest = function (agencyId, dataId) {
this.agencyId= agencyId;
this.dataId= dataId;
};
MyTest.prototype = function() {
var setObservables = function() {
...
},
init = function (url) {
...
};
// public members
return {
init: init
};
}();
使用它,我這樣稱呼它
var obj = new DetailsDivisionKO(1, 2);
obj.init(actionUrl);
這工作得很好,但我搞不清}();在公共成員部分的末尾,爲什麼需要這樣做,我不能這樣做,仍然使用上面的代碼來調用它?作爲一個沒有,如果我嘗試調用上面的代碼我得到一個錯誤,指出:
Uncaught TypeError: Object [object Object] has no method 'init'
原型需要有一個_Object_的'()'被調用_function表情的,因此_Object_是'return'ed –
您正在創建一個函數,然後立即調用它。這是爲了創建一個新的範圍。 –