Почему функции в JavaScript установлены как глобальные переменные вместо простых функций?
Мне интересно, если кто-нибудь знает, почему некоторые люди определяют глобальные переменные, которые установлены на функции, а не просто определяют глобальное имя функции. Например:
var foo = function() { alert('hello!'); }
вместо
function foo() { alert('hello!'); }
Разве второй метод не будет лучше, поскольку есть вероятность, что что-то может перезаписать первую переменную, и вы потеряете функцию? Это как-то связано с расширением объектов? Есть проблемы с производительностью?