Я новичок и очень хочу понять, почему создаваемые нами переменные не просто получают значения внутри элемента 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
serhatbalik 23 Окт 2018 в 12:37

2 ответа

Лучший ответ

В Javascript переменные объекта хранят ссылку на объекты. Следовательно, document.getElementById возвращает ссылку. Поэтому, когда вы изменяете значения elementsValues, вы редактируете объект, на который имеется ссылка.

Взгляните на Работа с объектами - сравнение объектов . Вы также можете прочитать всю страницу, чтобы получить обзор.

2
Amessihel 23 Окт 2018 в 10:00

Да, это как указатель. Используя var elementValues = document.getElementById("p1");, вы назначаете ссылку на элемент DOM переменной. В переменную не сохраняется ничего об элементе, кроме «где его найти».

0
Sv443 23 Окт 2018 в 09:59
52945819