Всем здравствуй мир!
Читаю книгу
Scope & Closures из серии You don't know JS и в пятой главе Closures не понял реального способа применения кода модуля:
function CoolModule() {
var something = "cool";
var another = [1, 2, 3];
function doSomething() {
console.log( something );
}
function doAnother() {
console.log( another.join(" ! ") );
}
return {
doSomething: doSomething,
doAnother: doAnother
};
}
var foo = CoolModule();
foo.doSomething(); // cool
foo.doAnother(); // 1 ! 2 ! 3
Я понимаю суть, что мы прячем переменные и методы внутри модуля (класса?) и потом можем использовать его где-нибудь еще много-много раз. Но, можете ли просто пример привести, в каком контексте это могло бы пригодится?