Mam zmienną o nazwie foo i funkcję o nazwie foo.Co będzie odniesieniem, gdy zmienna i funkcja mają tę samą nazwę?
//variable followed by function declaration
var foo="bar";
function foo(){
return "bar";
}
//function declaration followed by variable
function foo(){
return "bar";
}
var foo="bar";
//When I call foo it returns string bar;
//When I enquired foo() it throws error
Co się tutaj dzieje? Dlaczego występuje funkcja zastępowania nazwy zmiennej?
oba przypadki zwrócą ciąg "bar". zasadniczo funkcje są podnoszone do górnej części pliku. , więc ciąg "pasek" zastąpi je w obu przypadkach. - nie powinien powrócić niezdefiniowany, powinien wywołać błąd. – aeid