有2个对象
var var1 = {a: 1, b: 2};
var var2 = {b: 3, c:5};
现在,我希望var 3具有这样的值 - var3 = {a:1, b:3, c:5}
我希望在不使用jquery extend()
方法更改var1和var2的值的情况下实现这一目标。
我怎样才能做到这一点?
运行以下命令后
var var3 = $.extend(var1, var2)
现在,结果就是这个
var1 = {a: 1, b: 3, c: 5} // var1 is getting changed and i dont want this
var2 = {b: 3, c:5};
var3 = {a: 1, b: 3, c: 5}
var1现在等于var3,因为我不想更改var1或var2的值
答案 0 :(得分:1)
试试这个:
var var3 = $.extend({}, var1, var2);
提供的第一个对象将被改变,因此只需在三个对象上运行extend,第一个对象为空。
答案 1 :(得分:1)
这就是$.extend()
的工作原理:它总是修改参数列表中的第一个对象。如果你不想那样,那么:
var var3 = $.extend({}, var1, var2);
答案 2 :(得分:0)