js深拷贝与浅拷贝

什么是深拷贝:
var num1 = 100;
var num2 = num1;
num2=1000;
console.log(num1); //100
console.log(num2); //1000
虽然前面num2=num1,但后面给num2重新赋值,并没有改变num1的值,这就是深拷贝.
什么是浅拷贝:
var arr1 = [1,2];
var arr2 = arr1;
arr2.push(3)
console.log(arr1); //[1,2,3]
console.log(arr2); //[1,2,3]
这里arr1的值会跟随arr2的值改变而改变,这就是浅拷贝
浅拷贝解决方法:
方法一:
var arr1 = [1,2];
//concat()方法会创建一个拷贝当前数组的副本然后把参数添加到副本末尾
var arr2 = [].concat(arr1)
arr2.push(3)
console.log(arr1); //[1,2]
console.log(arr2); //

js深拷贝与浅拷贝最先出现在Python成神之路

版权声明:
作者:主机优惠
链接:https://www.techfm.club/p/27390.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>