本文共 1343 字,大约阅读时间需要 4 分钟。
点击蓝字关注我们!每天获取最新的编程小知识!
源 / php中文网 源 / www.php.cn
通过遍历每个属性并将它们克隆到新对象。使用JSON方法作为源对象必须是JSON安全的。因此,在源对象无法转换为JSON的情况下,需要异常处理以保证其安全。object.assign
方法仅执行浅度克隆。这意味着嵌套属性仍然通过引用克隆。
(查看原文请点击本文末尾左下角:
注,浅度克隆:简单类型为值传递,对象类型是引用的传递。深度克隆:所有元素或属性完全复制,与原对象完全脱离,也就是说所有对于新对象的修改都不会反映到原对象中。
克隆JavaScript对象有几种方法,如下:
示例1:一种方法是遍历源对象的属性,并将所有属性逐个复制到目标对象。它很简单,但不常使用。
"UTF-8"
>
"text-align:center;"
>
"color:green;"
>
js克隆对象
"demo2"
>sourceObject = {a:1, b:2, c:3};
"fun()"
>click
"demo"
>
function
fun(){
const
sourceObject = {a:1, b:2, c:3};
let tO = {};
for
(let prop in sourceObject) {
if
(sourceObject.hasOwnProperty(prop)) {
tO[prop] = sourceObject[prop];
}
}
document.getElementById(
"demo"
).innerHTML =
"targetObject a = "
+tO.a+
", b = "
+ tO.b+
", c = "
+tO.c;
}
输出:
点击按钮前
点击按钮后
示例2:此示例使用JSON。使用此方法,源对象必须是JSON安全的。
"UTF-8"
>
"text-align:center;"
>
"color:green;"
>
js克隆对象
"demo2"
>sourceObject = {a:1, b:2, c:3};
"fun()"
>click
"demo"
>
function
fun(){
const
sourceObject = {a:1, b:2, c:3};
let tO = {};
tO = JSON.parse(JSON.stringify(sourceObject));
document.getElementById(
"demo"
).innerHTML =
"targetObject a = "
+tO.a+
", b = "
+ tO.b+
", c = "
+tO.c;
}
Object.assign
方法。
"UTF-8"
>
"text-align:center;"
>
"color:green;"
>
js克隆对象
"demo2"
>sourceObject = {a:1, b:2, c:3};
"fun()"
>click
"demo"
>
本篇文章就是关于javascript克隆对象的方法介绍,希望对需要的朋友有所帮助!
-END-
声明:本文选自「 php中文网 」,搜索「 phpcnnew 」即可关注!
▼
转载地址:http://zovqa.baihongyu.com/