变量的两种类型:
1、基本类型。保存在栈内存中的数据,保存在内存中的一个位置。
2、引用类型。栈内存保存的是指向对象的一个指针。实际变量保存于堆内存中。查询引用类型变量时,要先在栈内存中找到变量在堆内存中的地址,然后再顺藤摸瓜找到堆内存中的值。
栈内存中的数据可以顺序访问,堆内存中的数据像是在数据池中,不可顺序访问。
可以给引用类型添加属性和方法,而不可以给基本类型添加。
var person=new Object();
person.name="Nicholas";
alert(person.name); //"Nicholas"
var name="Nicholas";
name.age="27";
aler(name.age); //undefined
复制变量值的过程中,引用类型与基本类型也有所不同。基本类型复制的就是该值,而引用类型复制指针,堆中对象并不增加。
var num1=5;
var num2=num1; //直接复制5
var obj1=new Object();
var obj2=obj1;
obj1.name="Nicholas";
alert(obj2.name): //"Nicholas"