1ECMAscript 分为两种类型值:1基本类型值2引用类型值
这两种值得存储方式,操作方式都是不同的
1基本类型值:
普通的number string boolean 都是基本类型值,,他们的存储位置是栈,
2引用类型值
object Array 这种类型的值是引用类型,他们存储的位置是堆,但是他们会在栈里放一个引用
于是出现这种情况
a=1
b=a
b++;
alert(b);
alert(a);
2,1
Array a=[1,2]
Array b=a
b[0]++;
alert(b)
alert(a)
[2,2] [2,2]
赋值只会赋值栈里的东西,也就是说基本类型值 赋值栈里的东西的时候直接将值赋值给了b
而引用类型值在赋值栈里的东西的时候是将堆中值得引用赋值给了吧,所以 a和b指向的是同一个堆里的值。