Классическая задачка на область видимости на собеседовании
Сам JavaScript «из коробки» довольно ограничен. Когда вы пишете setTimeout, вы просите именно браузер (через Web API) запустить таймер в фоновом режиме, чтобы не блокировать выполнение основного кода.
Сам код в блоке var выполняется сразу, но внутри если есть setTimeout, уходит в очередь и ждет выполнения основного stack. К моменту когда вызывается console.log(i) переменна i уже имеет в глобальной области видимости, к которой обращается результат 3.
· 08.02
Тема не раскрыта. Почему вдруг в третьем примере взялся ноль вторым аргументом, для чего, запутать?
Посему именно с var результат такой, а с let другой тоже не объясняется. Тогда для чего они оба в примере?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 08.02
Ммм, я не уверен что понимаю ваш вопрос. Все три цикла for одинаковые. 0 берется из условия var/let i/j/k =0
Если внимательно перчитать пост, там описано пояему последний пример отличается.
Перефразируйте свой вопрос, чтоб я смог на него ответить.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 08.02
Про let ни слова. Почему он работает не как var? Что такое «свой» экземпляр, бывает чужой? Что за глобальная область, что это? А есть локальная область? А чем они отличаются? И т.д.
С точки зрения начинающего, а именно для него пишутся такие посты, тут очень много вопросов и недопонимания.
Про ноль см скрин:
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 08.02
У меня тут не школа обучения. Денег я не беру, и никого js научить не обещаю. Я как автор публикую статьи которые интересны мне и возможно будут интересны другим посетителям
На вопросы почему это так я готов ответить, если я сам знаю. Но в твоем случае, ты же просто ркшил докопаться? Ты же сам разработчик и скорее всего понимаешь о чем речь. Тем более спустя 10 лет во фронтенде. Если я не прав - так и напиши, я изучу вопрос и исправлюсь.
Ещё один блог про frontend разработку. Важное замечание: не стоит воспринимать написанное здесь как претензию на истину, это лишь личное мнение в конкретный период времени. Плюс, из каждого правила могут быть исключения.
Важное замечание: не стоит воспринимать написанное здесь как претензию на истину, это лишь личное мнение в конкретный период времени. Плюс, из каждого правила могут быть исключения.
Если считаешь что мой канал какой-то не такой, от контента которого тебе бы хотелось получать информацию, пожалуйста проигнорируй его.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён