javascript引用和赋值
1 var arr1=[1,2,3,4];//数组1被创建 指向物理内存的一个地址 2 var arr2=arr1;//数组arr2 被赋值为arr1(引用了arr1); 3 //alert(arr1);//1,2,3,4 4 //alert(arr2);//1,2,3,4 5 /* 6 arr2.push(5) arr2变为1,2,3,4,5 7 由于arr2和arr1 是同一个物理地址的引用,所以 arr1同时被改变 8 */ 9 arr2.push(5); 10 11 //alert(arr1)//1,2,3,4,5 12 //alert(arr2)//1,2,3,4,5 13 var arr1=['a','b','c','d']//arr1被出新赋值 14 /* 15 由于arr1被重新赋值,相当于重新在物理地址里重新生成了位置和原来的无关 16 而arr2还是原来物理地址的引用所以下面的值为 17 */ 18 alert(arr1);//a,b,c,d 19 alert(arr2);//1,2,3,4,5