仅使用 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);
最佳答案
除了任何版本的 Internet Explorer(无论如何根据 MDN)之外的现代浏览器都支持 Object.assign()
,它或多或少与 jQuery.extend()
相同code> 除了它的单参数语义之外。
foo(Object.assign(o, { e: "abc", f: "cba" }));
也应该在 Node 中可用(同样是 ES2015 版本)。
关于javascript - 修改 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37101420/