只使用JavaScript而不是像jQuery这样的库,在将对象传递给函数之前是否有更优雅的方法(如jquery.extend()
)来修改对象?
var o={
a:1,
b:2,
c:3,
d:function(){alert('f');}
};
o.e='abc';
o.f='cba';
o.g=function(){alert ('f1');};
foo(o);
o.e='xyz';
o.f='zyx';
o.g=function(){alert ('f2');};
foo(o);
答案 0 :(得分:1)
除了任何版本的Internet Explorer之外的现代浏览器(根据MDN无论如何)支持Object.assign()
,除了单参数语义之外,它与jQuery.extend()
大致相同。
foo(Object.assign(o, { e: "abc", f: "cba" }));
也应该在Node中可用(再次,ES2015版本)。