Приветствую.
Хотел уточнить, как точно определяется доступность функций, объявленных просто как function имя(){}
вот, в примере:
function try1(){
//hoisted(); //ошибка (1)
{
//hoisted(); // выводит "foo" (2)
function hoisted() {
console.log("foo");
}
}
hoisted(); // выводит "foo" (3)
}
try1();
- поднятие функции получается доступно в блоке кода (2)
- но при этом сама функция доступна и за пределами этого блока (после него) (3)
- а "до" (1) нельзя
Может где есть описание, как точно такое определение делается.
Так само и с условным определением функций, то что я раньше выписывал себе из документации, смотрю не так сейчас работает