2013-03-26 98 views
1

我想了解它是如何工作爲什麼spine.Model具有相同名稱的函數原型

爲什麼函數有原型的同名以及如何使用它們如果函數 爲示例Model.fromForm優先於原型。我的意思是聲明是在基類/對象中進行的。從基類/對象創建模型時究竟發生了什麼?

另外我還有一個問題,但我會先等待這一個。

感謝,理查德

回答

2

脊柱模型對象和該模型的「實例」是不同的對象,因此不同的功能進行評價。這裏沒有優先或重載。例如(在CoffeeScript中)以下做同樣的事情:

YourModel instance = YourModel.fromForm(form) # Uses the model object fromForm 

YourModel instance = new YourModel 
instance.fromForm(form) # Uses the prototype fromForm 

如果look at the source code,你可以看到爲什麼它的等價;對象fromForm簡單地聲明爲this.fromForm,並調用原型之一:

@fromForm: -> 
    (new this).fromForm(arguments...) 
+0

感謝,即helpfull..could你也許看脊椎的代碼Symplified公司例如model..maybe你可以發現它在那裏是錯誤的。我現在正在用螢火蟲試圖找出什麼時候「this」是什麼?..非常混淆 – Richard 2013-03-26 18:50:35

+0

你應該只是發表第二個問題作爲一個新的問題與代碼!有人可以提供幫助。 – 2013-03-26 18:54:08

+0

是的,我可以做到這一點,太糟糕了,因爲它是有點相關..但我會因爲它錯過我..謝謝你 – Richard 2013-03-26 18:57:11

相關問題