Зачем библиотеки обертывают в (function() {...})()? Объясните простыми словами, сколько ни читаю - ничего не понятно.
Что бы иметь внутри локальные переменные, недоступные извне:
Например, в примере ниже
var libraryCache = {};
library.method1 = function () {
libraryCache.data = {};
};
library.method2 = function () {
libraryCache.data2 = {};
};
libraryCache доступна любому коду извне, так как она добавляется в глобальный скоп. Если написать так:
(function () {
var libraryCache = {};
library.method1 = function () {
libraryCache.data = {};
};
library.method2 = function () {
libraryCache.data2 = {};
};
})();
То мы "скроем" переменную от внешнего кода.
(function() {
console.log("test");
})();
function() {
console.log("test");
}();
Сборка персонального компьютера от Artline: умный выбор для современных пользователей