В JavaScript используется последнее определение идентификатора:
function foo() { return "bar"; }
var foo = "foo";
alert(foo);
В этом случае foo
была переменной со значением "foo". Если бы foo
была функцией, она бы просто сказала, что foo
была функцией. Если вы не верите этому, попробуйте использовать alert(foo())
вместо alert(foo)
. Скорее всего, вы получите сообщение об ошибке в журнале консоли без видимого вывода, как это было с alert(foo)
(переменная ... не вызов функции).