有沒有一種方法可以在Javascript中創建一個對象,使其所有方法都可用於構造函數?當創建一個Javascript「類」的實例時,是否有一種方法來構造對象,以便可以訪問所有方法?
我發現很難清楚說出我的問題..所以一個例子!
鑑於該類
function Example() {
var someVar = something;
var moreState = initializedToSomethingElse;
verifySomething(); <-- Fails!
this.verifySomething = function() {
// do verify stuff
}
}
我不能叫verifySomething
在我的構造函數,因爲該方法,就實例而言,還不存在。所以,我得到一個未定義的錯誤。有沒有更好的方法來在JavaScript中創建對象,以便我可以避免這個問題?
爲什麼不在定義它之後調用它? http://jsfiddle.net/th6kmsa4/ – Jamiec 2014-11-21 14:04:47
老實說,可能有點愚蠢,但出於美學原因。我喜歡將所有初始化代碼一起阻塞在一個地方,而不是遍佈函數聲明。 – user3308774 2014-11-21 14:06:53
從理論上講,我可能更喜歡使用冒號而不是句點('this :: verifySomething()')。這種語言不會那樣工作! – Jamiec 2014-11-21 14:10:21