例如,如果我指定
var n = document.getElementById('A').childNodes.length;
然后将一个孩子附加到A,会更新自己还是我必须再次给它分配新长度?
答案 0 :(得分:5)
不,它不会自动更新。原因是您正在做的是将length
属性的值分配给变量n
。因此,n
不知道它来自的对象属性,它只存储一个数字。 JavaScript中的原始类型按值分配/传递,而对象通过引用传递。这就是为什么做var o = document.getElementById('A');
会以你描述的方式工作的原因 - 你分配给o
的是一个对象,而不是一个原始类型。
注意:“原始类型”是指以下任何一种:未定义,空值,布尔值,数字或字符串
答案 1 :(得分:0)
不,你必须重新评估变量。