哈文';ECMA5(最新的JavaScript)是否有用于复制对象的内置函数?

哈文';ECMA5(最新的JavaScript)是否有用于复制对象的内置函数?,javascript,node.js,ecmascript-5,Javascript,Node.js,Ecmascript 5,我需要像Node.js中的Ext.apply这样的东西。最明显的方法是定义我自己的: function simplestApply(dst, src1) { for (var key in src) if (src.hasOwnProperty(key)) Object.defineProperty(dst, key, Object.getOwnPropertyDescriptor(src, key)); } 但是没有任何内置函数用于相同的目的吗?这是最快的方法,但它不会复制这些函

我需要像Node.js中的Ext.apply这样的东西。最明显的方法是定义我自己的:

function simplestApply(dst, src1) {
  for (var key in src) if (src.hasOwnProperty(key))
    Object.defineProperty(dst, key, Object.getOwnPropertyDescriptor(src, key));
}

但是没有任何内置函数用于相同的目的吗?

这是最快的方法,但它不会复制这些函数

JSON.parse(JSON.stringify(obj))

函数。应用
?它在V8中构建,因此在Node.No中构建。函数的apply()与上面的Ext.apply()和simplestApply()有着截然不同的用途。啊,您需要类似于
合并
?-那么不,香草js中没有这样的东西。或
jQuery.extend()
Object.append()
(MooTools)。谢谢。我刚刚发现了一些基于框架的UTIL的内置特性,比如
bind
。我认为它也可能是用于merge | extend | append | apply的。此方法不会将属性应用于现有对象。这是一种克隆类似JSON的树的方法。但它很快,这是真的。根据我的测试,大约比
simplestApply({},obj)
快3倍。你也可以这样做<代码>变量b={};对于(a中的变量i){b[i]=a[i];}
它更快: