Я вижу это все время в javascript-источниках, но я никогда не обнаружил реальной причины, по которой эта конструкция используется. Почему это необходимо?
(function() {
//stuff
})();
Почему это написано так? Почему бы просто не использовать stuff
самостоятельно, а не в функции?
EDIT: я знаю, что это определение анонимной функции, а затем ее вызов, но почему?