У меня есть переменная с именем foo и function с именем foo.
//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
Что происходит здесь? Почему переопределение функции имени переменной?