我一直在試圖創建自己的JavaScript函數,然後使用Prototype
的Javascript原型錯誤
所以我創建一個函數添加方法:
function createObject(){
this.value = 0;
}
然後我創建Prototype
方法:
createObject.prototype.once = function(){
return this.value+1
};
然後我創建對象的實例:
var x = createObject();
然後,當我嘗試運行x.once()
我得到:
Uncaught TypeError: Cannot read property 'once' of undefined
at <anonymous>:1:2
而且我不知道爲什麼。
'變種x =新的CreateObject();'實例化一個對象,而不是隻調用該函數 –
如果你打算使用函數作爲一個構造函數,它是標準的做法,利用函數的名字,這樣你就記得使用'new'關鍵字。還有一些與該模式相關的更好的實踐[在這個問題上](http://stackoverflow.com/a/383503/5743988)。 – 4castle
你應該爲對象考慮一個更好的名字,因爲名稱'createObject'實際上使得函數聽起來像一個創建對象的函數 - 你不需要'new'關鍵字就可以調用 - 這不會解決你的問題問題,但它可能是要記住 –