Страницы

Поиск по вопросам

среда, 16 января 2019 г.

Как правильно присваивать переменную?

Почему такая конструкция работает:
let outputData = document.querySelector('#outputData'); outputData.innerHTML = 'Введите значение';
А вот такая уже нет:
let outputData = document.querySelector('#outputData').innerHTML; outputData = 'Введите значение';
Складывается впечатление, что методы нельзя добавлять в переменную. Или возможно я не до конца понимаю особенности присваивания переменной.
Кто может объяснить эту ситуацию?


Ответ

Складывается впечатление, что методы нельзя добавлять в переменную.
Методы можно добавлять в переменную, однако, в данном случае в коде нет методов.
innerHTML - это свойство, возвращающее строку.
возможно я не до конца понимаю особенности присваивания переменной.
Особенностей нет: присваивая что-то в переменную, никак не влияет на предыдущее значение переменной.
var a = {}; a = 'a'; a = 3;
Во всех трех случаях предыдущее значение теряется и никак не меняется.

Почему работает первый вариант?
В первом варианте: outputData.innerHTML = 'Введите значение';
Нет присваивания переменной. Есть изменение значения свойства объекта.
При этом, .innerHTML еще и особое свойство, которое разбирает переданную строку и генерирует нужный html, который затем и отображается.

Комментариев нет:

Отправить комментарий