Свойство value
входного элемента на самом деле является getter / setter , аналогично innerHTML
элементов. Когда вы присваиваете свойству, установщик запускается и устанавливает состояние элемента в DOM. Когда вы получаете свойство путем доступа к .value
, геттер запускается и получает состояние элемента в DOM.
Чтобы установить новое значение, вы должны запустить установщик, и это требует присвоения свойству, например,
document.querySelector("input").value = "";
Элементы в стороне, переназначение переменной само по себе никогда не будет иметь побочных эффектов почти во всех ситуациях. Неважно, что вы делаете, msg = ''
в одиночку ничего не сделает, если msg
не будет использован позже.