【发布时间】:2011-01-16 16:52:48
【问题描述】:
我试图在 javascript 中准确地克隆一个对象。我知道使用 jquery 的以下解决方案:
var newObject = jQuery.extend({}, oldObject);
// Or
var newObject = jQuery.extend(true, {}, oldObject);
但问题在于,对象类型会丢失:
var MyClass = function(param1, param2) {
alert(param1.a + param2.a);
};
var myObj = new MyClass({a: 1},{a: 2});
var myObjClone = jQuery.extend(true, {}, myObj);
alert(myObj instanceof MyClass); // => true
alert(myObjClone instanceof MyClass); // => false
是否有任何解决方案可以在第二次警报中实现?
【问题讨论】:
-
大卫,与所有其他克隆问题的不同之处在于我询问了如何保留对象类型属性。
标签: javascript jquery clone