【发布时间】:2014-11-29 04:12:06
【问题描述】:
什么类型的变量会这样变化?
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 没有变?什么类型会这样变化?
【问题讨论】:
-
许多重复的问题。我会去找其中一个。
-
原语是不可变的。使用它们的任何计算都会产生一个新值。对象是可变的。
标签: javascript variables