@dron112

Почему присвоение переменной происходит раньше времени?

Я объявил флаг isOpenInputForSearch в положении fasle
После я делаю клик по элементу node, вызывается функция которая
- выводит в консоль isOpenInputForSearch ( он остаётся в положении fasle)
- на документ я вещаю addEventListener, в котором также делаю console.log(isOpenInputForSearch ),
но тут уже isOpenInputForSearch находиться в положении true, хотя в положение true я ставлю его ниже

Почему так происходит ?

let isOpenInputForSearch =  false

node.addEventListener('click', function(e) {

    console.log('1',  isOpenInputForSearch) // false - всё логично

     document.addEventListener('click', () => {
           console.log('2',  isOpenInputForSearch)  // true - почему ?
    });

    isOpenInputForSearch = true  // ведь меняю на true только тут
})
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F Куратор тега JavaScript
Никакого "раньше времени", как написали, так и происходит. Погуглите, что такое всплытие событий.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы