【发布时间】:2015-04-09 12:30:04
【问题描述】:
在我的小脑袋里,我无法解释如何正确引用对象原型中的方法:
function A(){}
A.prototype.action = function(){}
A.prototype.dict = { action: this.action } // Mistake here.
var a = new A();
a.dict.action(); // -> undefined, but I expect a call of 'A.prototype.action' or other function if I override it in 'a'
【问题讨论】:
-
a = new A;应该是var a = new A();当你让它的其余部分工作时。您想用该代码实现什么目标? -
请在适当的地方使用
var,并与分号保持一致。你(和你的同事)总有一天会感谢你的。 -
@Cᴏʀʏ,这只是我的问题的快速输入示例。当然,我总是使用 'var' 和分号。
-
dict方法在做什么?为什么不能直接打电话给a.action()? -
@Andy,我只需要将原型方法的引用放在对象中。该对象是字符串(事件类型的文本表示)和相应操作(函数)的映射。此对象用作默认对象,可以在继承对象中覆盖。
标签: javascript