克隆
提供防伪 深克隆 用于JavaScript中的对象、数组、数字、字符串等.
安装
npm install clone
(也与浏览器,ender或独立相通
示例
var clone = require('clone');
var a, b;
a = { foo: { bar: 'baz' } }; // initial value of a
b = clone(a); // clone a -> b
a.foo.bar = 'foo'; // change a
console.log(a); // show a
console.log(b); // show b
这将打印 :
{ foo: { bar: 'foo' } }
{ foo: { bar: 'baz' } }
克隆 克隆简单对象(即使是自定义原型),阵列, 日期对象,和 RegExp 对象。 一切都是循环复制的,所以你 例如,可以在对象的数组中复制日期.
API 密码
clone(val, circular, depth)
-
val-- 您想要克隆的值, 任何允许的类型 -
circular-- 布尔打电话
clone与circular设置为false如果你确信obj没有循环引用。 如有必要,这将提高业绩. 如果undefined或者说null以obj。 。 。 . -
depth-- 要复制对象的深度( 可选的, 默认为无限)
clone.clonePrototype(obj)
obj-- 要克隆的对象
一个原型克隆是 奥兰·隆尼(Oran Looney)的描述。 。 。 .
循环参考文献
var a, b;
a = { hello: 'world' };
a.myself = a;
b = clone(a);
console.log(b);
这将打印 :
{ hello: "world", myself: [Circular] }
这么说吧, b.myself 指点 b没有 a不错!
测试
npm test
卡维特
一些特殊对象,如套接字或 process.stdout编号 :stderr 已知没有
可复制。 如果您找到其他无法复制的对象, 请 打开一个
问题。 。 。 .
错误和问题
如果你遇到任何错误或问题,请随意 打开一个问题 : gi 或者发邮件给我 保罗@vorba.ch如果你用我的代码,我也总是想听到你的声音.
许可证
版权:2011-2015年 保罗·福尔巴赫 财务报告和审定财务报表 捐助者。 。 。 .
特此免费准许任何人获得《公约》副本 该软件和相关文档文件(“软件”),用于处理 软件不受限制,包括不受限制 使用、复制、修改、合并、出版、分发、分许可证和/或出售 软件,并允许获得软件的人这样做, 符合下列条件:
上述版权通知和这项许可通知应载入所有 软件的复制件或大部分.
软件是提供的 " AS IS " ,没有任何形式的恐惧、排斥或 包括但不限制于雇佣军的保障 特别是目的和非目的。 永远也不要 A. 任何索赔、索赔或其他负债,不论是否属于 或与之有关的条约、协定或其他文书的行动 软件或软件的使用或其他交易.

