数组直接赋值是指针的转移,指向同一个内存空间,而不是真正的复制值过去

Posted 千と千寻の

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组直接赋值是指针的转移,指向同一个内存空间,而不是真正的复制值过去相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
</head>
<body>
    
</body>
<script type="text/javascript" >

 var arr = [1,2,3];
 var arr2=[];
 // 这种情况的赋值是把指针指向同一个内存,而不是复制过去,所以arr2push一个值的时候arr显示的结果和arr2一样
 //  arr2 =arr;
 // 改变这种情况
for (var i = 0; i < arr.length; i++) {
     arr2.push(arr[i])
};
 arr2.push(4)
console.log(arr)
console.log(arr2)

</script>
</html>

 

以上是关于数组直接赋值是指针的转移,指向同一个内存空间,而不是真正的复制值过去的主要内容,如果未能解决你的问题,请参考以下文章

c语言中,为啥不能对字符指针变量指向的字符串再赋值?

c语言赋值是啥?

12354

删除指针数组而不删除内存中的指向对象?

150809112 杨磊

二维数组名不能赋值给二级指针- -