貌似这个简单的操作会有无数种不同的方法.

  1. 使用Object.assign

var clone = Object.assign({}, obj);

这个方法貌似是新的js中支持的, 会有兼容性问题. 那么还有其他方法:

  1. y = _.clone(x);

这个是用的underscore库.

  1. y = JSON.parse(JSON.stringify(x))

  2. var bill = $.extend(true, {}, bob);

这是用的jquery库.

  1. 使用Object.create,但这并非真正的clone,而是继承.

y = Object.create(x);

  1. 其他

其他方法中最重要的就是自己写一个function, 去iterate key并且赋值.

参考:
(How do I correctly clone a JavaScript object?)[http://stackoverflow.com/questions/728360/how-do-i-correctly-clone-a-javascript-object]
(4 CREATIVE WAYS TO CLONE OBJECTS)[http://heyjavascript.com/4-creative-ways-to-clone-objects/]
(Deep copy Javascript objects)[https://webdevwonders.com/deep-copy-javascript-objects/]

标签: none 阅读量: 993

添加新评论