我怎样才能在这个共享原型中拥有单独的数组
How can I have separate arrays in this shared prototype?
鉴于此:
var p = function(){};
p.prototype = { id : null, arr : []}
var a = new p();
var b = new p();
a.id = 1;
a.arr.push(5);
alert(b.arr[0]);
警报读5
意思是 a.arr == b.arr,但是 a.id 和 b.id 是分开的(a.id != b.id(。我怎样才能使a.arr != b.arr?
约束:
p 必须能够使用new p()
。或者,必须有一种方法可以制作唯一的p。
如果您希望 id 和 arr 对于 p 的每个实例都是唯一的,则需要在 p 构造函数中实例化它们。 原型对象应仅用于共享常量和函数。
var p = function(){
this.id = null;
this.arr = [];
};
var a = new p();
var b = new p();
a.id = 1;
a.arr.push(5);
alert(b.arr[0]);
相关文章:
- 使用“;这个“;JavaScript原型方法中的关键字
- 引用类变量中的原型方法
- 如何从对象的原型方法访问JavaScript对象属性
- 为什么要包装每一个原型“;类“;JS中具有匿名函数的对象
- Node.js中的JavaScript原型对象效率
- 重载JS'firefox中的对象原型
- “util.inherits”和在NodeJS中扩展原型之间的区别
- 附加到原型属性的Do函数没有闭包
- 使用方括号访问插件原型函数
- 为什么JSON.stringify没有序列化原型值
- 为什么要返回'这'在导致循环的JavaScript原型中
- 带有对象/原型的链式承诺(Q延期)
- 如何覆盖原型中的事件侦听器
- 如何在Mocha/Chai中测试JS原型(非模块)
- 我将如何将Base的原型分配给User
- 拥有财产 - 不起作用
- 原型和用法 Javascript
- 别名或以其他方式合并两个具有不同名称的相同对象原型
- 我怎样才能在这个共享原型中拥有单独的数组
- 如何拥有一个原型的一堆实例