[英]How do i make a copy of an object? Javascript
我有一个json格式的类。 我想做两个例子。 现在(很明显为什么)当我'制作'两个对象时,我真的有2个vars指向一个。 (b.blah ='z'会使a.blah =='z')
我如何制作一个物体的副本?
var template = {
blah: 0,
init: function (storageObj) {
blah = storageObj;
return this; //problem here
},
func2: function (tagElement) {
},
}
a = template.init($('form [name=data]').eq(0));
b = template.init($('form [name=data2]').eq(0));
如果你想要多个实例,听起来像构造函数可能会对你有所帮助。
function Template(element) {
this.blah = element;
}
Template.prototype.func2 = function(tagElement) {
//...
};
var a = new Template($('form [name=data]').eq(0));
var b = new Template($('form [name=data2]').eq(0));
b.func2('form');
可以从每个实例访问函数原型( Template.prototype
)上的所有方法,并相应地确定每个实例的作用域。 new关键字将运行该函数,然后返回一个全新的对象,继承原型。
你将不再拥有与a
和b
完全相同的对象点。
var b = {}, key;
for (key in a){
if(a.hasOwnProperty(key)){
b[key] = a[key];
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.