Простой вопрос
Всем привет,
простейший вроде бы пример, вопрос почему вываливается ошибка Uncaught TypeError: Property 'foo' of object [object DOMWindow] is not a function var foo=100; function foo(){ alert('Hello,world!'); }; foo(); Ссылка на песочницу: http://learn.javascript.ru/play/etPJS Спасибо, всем, заранее :) |
поставьте перед вызовом foo() строку
alert(typeof foo) |
А зачем вы и функцию и переменную одним именем назвали?
|
Pavel M.,
typeof(foo)говорит Number Kolyaj, интересно просто с точки зрения JavaScript почему так получается если сделать var foo=1; var foo=function(){}; то всё ок. |
Цитата:
function foo() {} Две большие разницы. В первом случае, значение переменной присваивается, когда выполнение доходит до этой строки. Во втором случае, функция, в каком бы месте она не находилась в рамках контекста, создаётся сразу при входе в контекст. В вашем случае, создаётся вначале функция, а затем значение переменной заменяется на другое. Всё верно. |
Спасибо, теперь всё встало на свои места :)
|
Часовой пояс GMT +3, время: 11:10. |