JavaScript: почему обертка анонимной функции?
В настоящее время очень часто инкапсулируются фрагменты библиотек / функций / кода Javascript с помощью анонимной функции, например
(function () {
// code to be executed goes here
})();
Насколько я могу сказать, это должно быть совершенно лишним: эта анонимная функция просто выполняет код внутри. Однако за этим явно стоит причина!:-)
Я видел это с комментарием рядом с первой строкой: "// функция-обертка для Opera".
Кто-нибудь знает, почему этот код широко используется, какова история его разработки и какова связь с Opera?