Rsa97, я имею ввиду, если бы ситуация выглядела так, то я понял бы в чем дело:
test();
if(условие) {
function test() {
}
}
Но тут же иная ситуация:
if(условие) {
test();
function test() {
}
}
То если условие выполняется, то только тогда происходит и объявление функции и ее вызов.
Разве условное определение не относится только к тому, что вызов функции не должен происходит вне и до условия, в котором она объявляется?
Надеюсь донес свою мысль