Позволит ли назначение члена из элемента DOM переменной, чтобы переменная сама обновилась? - PullRequest
0 голосов
/ 08 апреля 2010

Например, если я назначу

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

А потом позже добавить дочерний элемент в A, будет ли обновляться n или мне придется заново назначать ему новую длину?

Ответы [ 2 ]

5 голосов
/ 08 апреля 2010

Нет, он не будет автоматически обновляться. Причина в том, что вы присваиваете переменной n значение свойства length, которое является числом. Следовательно, n не знает о свойстве объекта, из которого оно получено, оно просто хранит число. Примитивные типы в JavaScript назначаются / передаются по значению, тогда как объекты передаются по ссылке. Вот почему выполнение var o = document.getElementById('A'); будет работать так, как вы описываете - то, что вы назначаете для o, является объектом, а не примитивным типом.

Примечание. Под «примитивным типом» я подразумеваю любое из следующего: Не определено, Нулевое, Булево, Число или Строка

0 голосов
/ 08 апреля 2010

Нет, вам придется заново оценить переменную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...