Я новичок и очень хочу понять, почему создаваемые нами переменные не просто получают значения внутри элемента DOM, а становятся элементом DOM?
Вот базовый код;
var elementValues = document.getElementById("p1");
elementValues.style.color = "red";
// I don't understand why we don't need this step in order to manipulate the DOM.
// document.getElementById.getElementById("p1") = elementValues;
Разве мы не говорим просто скопировать значения из элемента DOM с идентификатором p1 и вставить их в elementValues ?
Но почему цвет элемента DOM меняется, когда я меняю цвет elementValues ? Насколько я понимаю, он действует как указатель.
2 ответа
В Javascript переменные объекта хранят ссылку на объекты. Следовательно, document.getElementById
возвращает ссылку. Поэтому, когда вы изменяете значения elementsValues
, вы редактируете объект, на который имеется ссылка.
Взгляните на Работа с объектами - сравнение объектов а> . Вы также можете прочитать всю страницу, чтобы получить обзор.
Да, это как указатель. Используя var elementValues = document.getElementById("p1");
, вы назначаете ссылку на элемент DOM переменной. В переменную не сохраняется ничего об элементе, кроме «где его найти».
Похожие вопросы
Связанные вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.