This question already has answers here:
JavaScript by reference vs. by value [duplicate]
(4个答案)
6年前关闭。
什么样的变量会像这样变化?
就像int2和int3变了,而arr2和arr3没变一样?什么样的类型会这样改变?
(4个答案)
6年前关闭。
什么样的变量会像这样变化?
var int1;
var int2;
var int3;
int1 = 42;
int2 = int3 = int1;
int1 += 3;
int1 // 45
int2 // 42
int3 // 42
arr1 = {};
arr2 = arr3 = arr1;
arr1.ab = 5;
arr1 // Object {ab: 5}
arr2 // Object {ab: 5}
arr3 // Object {ab: 5}
就像int2和int3变了,而arr2和arr3没变一样?什么样的类型会这样改变?
最佳答案
如果您更改原始数据类型的引用,则原始数据类型(数字,字符串和 bool(boolean) 值)不会更改,而复合数据类型会更改。
http://msdn.microsoft.com/en-us/library/ie/7wkd9z69(v=vs.94).aspx
09-20 11:21