百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
C

clone

> 编程语言
开源

在 JavaScript 中深度克隆任意对象

791 stars0 点赞2 次浏览
访问官网GitHub

工具介绍

在 JavaScript 中深度克隆任意对象

clone

提供了对对象、数组、数字、字符串、映射的无误的深度克隆 JavaScript 中的集合、承诺等。

安装

npm install clone (它也可以与 browserify、ender 或独立运行。您可能希望使用 在 browserify 中使用 noParse 选项,以减少生成的文件大小,因为通常 (浏览器中不需要缓冲区。)

示例

javascript
var clone = require('clone');
var a, b;
a = { foo: { bar: 'baz' } }; // a 的初始值
b = clone(a);                 // 将 a 克隆为 b
a.foo.bar = 'foo';            // 修改 a
console.log(a);               // 显示 a
console.log(b);               // 显示 b

这将打印:

javascript

* `value`: 要克隆的值,允许任何类型。 * `circular`: 布尔值,默认为 `true`。 如果您确定 `obj` 不包含循环引用,则调用 `clone`,将 `circular` 设置为 `false`。如果需要,这将提高性能。如果传递的 `obj` 为 `undefined` 或 `null`,则不会出错。 * `depth`: 要克隆的对象的深度(可选,默认为 `Infinity`)。 * `prototype`: 设置用于克隆 `Object` 时要使用的原型。 (可选,默认为要克隆的值的 `__proto__` ,即克隆的对象将具有与原始对象相同的原型)。 * `includeNonEnumerable`: 如果要克隆的非枚举属性,则将其设置为 `true`。原型链上的非枚举属性将被忽略。 (可选,默认为 `false`)

### `clone(value, opts)`

你可以使用单个 `opts` `Object` 来指定 `circular`、`depth`、`prototype` 和 `includeNonEnumerable`。

[](http://npm-stat.com/charts.html?package=clone)

Issues· 29 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

JavaScript

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言