我对Javascript中原型的使用感到有点困惑。
我们来看下面的例子:
(1)
function Rectangle(w, h) { this.width=w; this.height=h; this.area=function() { this.width * this.height; } }
类似的情况,该区域附加到原型如下:
(2)
function Rectangle(w, h) { this.width=w; this.height=h; } Rectangle.prototype.area=function() { this.width * this.height; }
答案 0 :(得分:1)
最好地展示原型。
function rectangle(w, h) {
var rect = {};
rect.width=w;
rect.height=h;
rect.area=function() { return this.width * this.height; };
return rect;
}
VS
var Rectangle = {
area: function() { return this.width * this.height; }
}
function rectangle(w, h) {
var rect = Object.create(Rectangle);
rect.width=w;
rect.height=h;
return rect;
}
这个想法很简单,你把普通的东西放在原型对象上,然后继承它。
至于何时想要使用原型?总是
当然你可能想要Improve ES5 OO with sugar