Javascript 为什么spine.Model在原型中具有相同名称的函数
我正在努力理解它是如何工作的 为什么函数在原型中具有相同的名称?如果函数 例如,Model.fromForm优先于原型。我的意思是声明是在基类/对象中进行的。当您从基类/对象创建模型时,到底发生了什么 我还有一个问题,但我会先等这个问题Javascript 为什么spine.Model在原型中具有相同名称的函数,javascript,spine.js,Javascript,Spine.js,我正在努力理解它是如何工作的 为什么函数在原型中具有相同的名称?如果函数 例如,Model.fromForm优先于原型。我的意思是声明是在基类/对象中进行的。当您从基类/对象创建模型时,到底发生了什么 我还有一个问题,但我会先等这个问题 谢谢,Richard脊椎模型对象和模型的“实例”是不同的对象,因此会评估不同的功能。这里没有优先级或重载。例如(在coffeescript中),下面的操作与此相同: YourModel instance = YourModel.fromForm(form) #
谢谢,Richard脊椎模型对象和模型的“实例”是不同的对象,因此会评估不同的功能。这里没有优先级或重载。例如(在coffeescript中),下面的操作与此相同:
YourModel instance = YourModel.fromForm(form) # Uses the model object fromForm
及
如果你,你可以看到为什么它是等价的;对象fromForm
被简单地声明为this.fromForm
,它调用原型对象:
@fromForm: ->
(new this).fromForm(arguments...)
谢谢,这很有帮助。你可以看看脊椎模型的一个简化代码示例吗?也许你可以发现哪里出了问题。我现在正在和firebug合作,试图找出“这”是什么?非常令人困惑的是,你应该把第二个问题作为新的代码问题发布!有人会帮上忙的。是的,我能帮上忙,太糟糕了,因为这有点关联。。但我会的,因为这让我很烦谢谢
@fromForm: ->
(new this).fromForm(arguments...)