Почему не работает этот код, не переключается фоновый цвет, а вот если bacground вынести и сделать так bg.background работает отлично, как справиться?
"use strict"
var button = document.querySelector("a");
var result = document.querySelector("div");
var bg = result.style.background;
button.addEventListener("click", function () {
if (bg != "red") bg = "red";
else bg = "gold";
});
var bg = result.style.background; -, в переменной находится значение свойства. простая строка, ни к чему не привязанная. Поменяете ее - ничего не изменится кроме это строки
var bg = result.style; в переменной лежит ссылка объект style привязанный к dom элементу. Меняете любое свойство - элемент меняется.
При присваивании переменной простого типа (string, number, bool) - в переменную копируется значение.
При присваивании переменной объекта - в переменную копируется ссылка на этот объект.
Все это подробно и доходчиво расписано в любом учебнике по javascript в первых же главах.