上QQ阅读APP看书,第一时间看更新
6.1 直接量的保存方式
之前在内存模型中介绍过,直接量直接使用两块内存来保存它们的名值对,而不像对象类型那样需要3块内存。明白了这一点我们就可以知道,直接量是各自保存各自的值,它们不会相互影响,例如下面的例子。
var m = 5; var n = m; m = 7; console.log(n); //5
这个例子中,虽然将m赋值给n,但只是将m的值赋给n,当m发生变化时,n并没有发生变化,这一点和对象类型是不同的。如果是对象类型,那么赋值的时候是将对象的地址赋给新值,当对象中的属性发生变化时两个对象都会发生变化,例如下面的例子。
var obj = {m:5}; var newObj = obj; obj.m = 7; console.log(newObj.m); //7
在这个例子中,obj和newObj使用的是同一个对象,当obj中的m属性发生变化时,newObj中的m属性也会发生变化。