так функцию
Что именно? Функция сразу вызовется и все) Тоже самое, что ты дашь имя функции, и потом ее вызовешь)
аааааа, реально. даже не подумал, спасибо а вот другой вопрос, если я поставлю let, то b все равно становится 5, (как так? вроде она внутри функций и она только имеет значение внутри функций)
let a = b = 5 равносильно b = 5 a = b
И лучше так не писать
переменная let b объявлена в области видимости IIFE, а var b это внешняя глобальная переменная
здесь переназначаешь b = 5, а затем делаешь let a = b
ну типа получается b = 5, потом a = b, то есть a = 5 и одновременно b = 5?
ну если b = 5 в функций, а снаружи у меня есть var b = 2, почему результат 5?
Потому что код выполняется сверху вниз, после b = 5 переменная больше не значения 2
ну вот я же показываю как - если убрать а то b уже 2
Это область видимости
потому что a объявляется через let, а b уже нет
добавь var a = 1 в начало
а залогай
что это значит?
ты выводишь только б, а я хочу, чтобы ты посмотрел на обе переменные
что
в чем прикол
ты понимаешь, почему такой результат получился?
тогда тебе нужно почитать про различие let и var и блочную область видимости
эта запись не аналогична той, которую ты записал ниже тут ты записываешь такой код, просто в одну строку: b = 5 let a = b
5 записывается в старую переменную b b же записывается в только что созданную переменную a, которая после выполнения функции удаляется поэтому в логах ты обращаешься к измененной b и к нетронутой a
b потом удаляется ?
нет, потому что ты не создаешь вторую переменную b
Обсуждают сегодня