javascript - 修改 JavaScript 对象

标签 javascript

仅使用 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/

相关文章:

javascript - 如何将 dispatch 传递到 prop 之类的组件中?

javascript - 在 WebGL 中绘制多个 2D 图像

JavaScript 和 TypeScript 作用域问题

javascript - 动态调用类函数

javascript - Javascript 中的相量图(矢量图)

javascript - 如何使用 Switch 在 Javascript 中构建计算器?

javascript - d3.js 中解析 x 属性时出现意外值无穷大

javascript - Stack Overflow - 递归回调 - JavaScript

javascript - 从 IE Mobile 中的 iframe 中的脚本访问父级的 DOM

javascript - Angular2 中回调函数中作用域变量的访问值