标签:
JS基本数据类型:null undefined number boolean
string比较特殊
var A=[1,2,3,4];
var B=A[0];
A[0]=6;
alert(B);
把一个值类型(也可以叫基本类型)A[0]传递给另一个变量B赋值时,其实是分配了一块新的内存空间,因此改变A[0]的值对B没有任何影响,因为它不像引用类型,变量的交换其实是交换了指像同一个内容的地址。
引用数据类型:function object array
var A=[1,2,3,4]; var B=A; A[0]=6; alert(B);//6,2,3,4
准确地说,引用类型的存储需要内存的栈区和堆区(堆区是指内存里的堆内存)共同完成,栈区内存保存变量标识符和指向堆内存中该对象的指针,也可以说是该对象在堆内存的地址,B指向的内存地址的值发生了变化,B值也相应的改变。
标签:
原文地址:http://www.cnblogs.com/cainiao633/p/5051812.html