var a=100;
var b=a;
console.log(b);是100;
在此之后再给a赋值 a=200;赋值之后a与b是没有关系的a输出是200,b输出的还是100
浅拷贝:
var arr=[1,2,3,4,5];
var newArr=arr;
arr[0]='北京';之后arr里的第一个单元变成北京,newArr也变成北京了,原理是引用数据类型是将其内存地址赋予新的变量,所以当内存地址中的单元信息改变是变量是一块跟着变的。
深拷贝:
如果希望被赋值的变量里的内容不随源数据信息的改变而改变,就要将源变量中的数据信息,赋值给新的变量,而不是赋予内存地址。
方法是通过循环遍历:
建立一个数据为空的数组,将源数组里的单元信息通过循环遍历利用索引下标依次赋给新数组,就完成了深拷贝。
逆战班0321
本文深入探讨了JavaScript中变量赋值、浅拷贝和深拷贝的概念。通过实例说明了基本数据类型和引用数据类型的赋值区别,以及如何实现数组的深拷贝,避免数据同步修改的问题。
67

被折叠的 条评论
为什么被折叠?



