Javascript 将DOM元素中的成员分配给变量会使变量能够更新自身吗?

Javascript 将DOM元素中的成员分配给变量会使变量能够更新自身吗?,javascript,dom,Javascript,Dom,例如,如果我分配 var n = document.getElementById('A').childNodes.length; 然后再将一个子元素附加到a,n是否会更新自身,或者我是否必须再次为其分配新的长度?否,您必须重新计算变量。否,您必须重新计算变量。否,它不会自动更新自身。原因是您所做的是将length属性的值(一个数字)赋给变量n。因此,n不知道它来自的对象属性,它只存储一个数字。JavaScript中的基元类型是通过值分配/传递的,而对象是通过引用传递的。这就是为什么要执行var

例如,如果我分配

var n = document.getElementById('A').childNodes.length;

然后再将一个子元素附加到a,n是否会更新自身,或者我是否必须再次为其分配新的长度?

否,您必须重新计算变量。

否,您必须重新计算变量。

否,它不会自动更新自身。原因是您所做的是将
length
属性的值(一个数字)赋给变量
n
。因此,
n
不知道它来自的对象属性,它只存储一个数字。JavaScript中的基元类型是通过值分配/传递的,而对象是通过引用传递的。这就是为什么要执行
var o=document.getElementById('A')
将以您描述的方式工作-您分配给
o
的是一个对象,而不是基本类型


注意:我所说的“基元类型”是指以下任何一种类型:未定义、空值、布尔值、数字或字符串

否,它不会自动更新自身。原因是您所做的是将
length
属性的值(一个数字)赋给变量
n
。因此,
n
不知道它来自的对象属性,它只存储一个数字。JavaScript中的基元类型是通过值分配/传递的,而对象是通过引用传递的。这就是为什么要执行
var o=document.getElementById('A')
将以您描述的方式工作-您分配给
o
的是一个对象,而不是基本类型

注:“基元类型”指的是以下任何一种:未定义、空值、布尔值、数字或字符串