【发布时间】:2011-10-30 05:52:17
【问题描述】:
今天,我看到了我一生中从未见过的 JavaScript 模式。我无法说出使用这种模式的目的。这对我来说似乎是错误的,但我想保守一点。这可能是我以前从未见过的一些很棒的模式。
function Dog() {
Dog.prototype.bark = function () {
alert('woof!');
}
this.bark = function () {
Dog.prototype.bark();
}
this.bark();
}
首先,我不喜欢无缘无故地在构造函数中创建方法(作为特权成员)。每次创建实例时都会导致创建函数。其次,在这段代码sn-p中,它也调用了原型名称“Dog”,而不是“this”。这让我非常困惑。
有人知道它有什么好处吗?
谢谢! 格蕾丝
【问题讨论】:
-
这似乎毫无意义。据我所知,原型对象用于向定义之外的对象的所有实例添加属性。既然在定义中,就有点多余了。
-
我完全同意你的看法。这对我来说似乎也毫无意义。
标签: javascript prototype-programming