如何在CoffeeScript中克隆/复制对象的实例?

Chr*_*let 6 javascript clone instance coffeescript

相当直截了当的问题,但谷歌搜索还没有发现任何东西.

如何在Coffeescript中复制/克隆/复制对象的实例?我总是可以创建一个clone()方法来返回一个带有复制值的新实例,但这似乎是一种容易出错的方法.

CoffeeScript提供更简单的解决方案吗?

Lar*_*tle 8

这可能会奏效.

clone = (obj) ->
  return obj  if obj is null or typeof (obj) isnt "object"
  temp = new obj.constructor()
  for key of obj
    temp[key] = clone(obj[key])
  temp
Run Code Online (Sandbox Code Playgroud)

采用:在JavaScript中深度克隆对象的最有效方法是什么?


Chr*_*let 7

感谢Larry Battle提示:

John Resig使用jQuery.extend的解决方案非常出色!

// Shallow copy
newObject = $.extend({}, oldObject);

// Deep copy
newObject = $.extend(true, {}, oldObject);
Run Code Online (Sandbox Code Playgroud)

可以在jQuery文档中找到更多信息.