Вы используете глобальную переменную, но передаете значение для локальной переменной внутри функции.Тогда изменение этой переменной не влияет на глобальное значение, потому что значения примитивов передаются по значению.
Вам необходимо изменить эту строку на (без on
)
<button id = "button" onclick="light()"></button>
исигнатура функции, без переменной
function light() {
Теперь вы получаете доступ к глобальной переменной on
и меняете значение.
Еще один совет, вы можете принять логическое значение (true
или false
) и пропустите проверку в операторе if
, используя переменную напрямую, и пропустите вторую проверку, поскольку у вас есть только два значения.
Возможно, вы могли бы опустить вторую проверку с помощьючисловое значение, потому что у вас нет кода, который присваивает значение, отличное от 0
или 1
.