【发布时间】:2011-03-22 05:08:57
【问题描述】:
我使用原型继承并希望拥有带有实例数组的对象。因此,如果我从一个具有实例数组的对象派生一些对象并访问该数组,那么它们都共享该数组。我想将一些东西推送到数组中,并且只在实际对象中更改数组,而不是在所有其他对象中。
使用标准原型继承和 Object.create 来解决这个问题的优雅方法是什么?
var sys = require('sys');
var obj ={
data: [],
add: function(what){
this.data.push(what)
}
};
var one = Object.create(obj);
one.add(1);
var other = Object.create(obj);
other.add(2);
sys.puts(other.data.length); // is 2, but should be 1
【问题讨论】:
标签: javascript inheritance prototype node.js