Я пытаюсь создать некоторую изоляцию в javascript, используя шаблон модуля.Изоляция шаблона модуля Javascript
, но когда я запускаю этот код:
var mymap = {};
mymap['230'] = (function() {
privatePageLoad = function(nid, page){
console.log('PAGE LOAD from 230: '+nid);
}
function handleDocummentAdded() {
console.log("New Document in 230!");
privatePageLoad(230, 0);
};
return {
newDocument: handleDocummentAdded
}
})();
mymap['318'] = (function() {
privatePageLoad = function(nid, page){
console.log('PAGE LOAD from 318: '+nid);
}
function handleDocummentAdded() {
console.log("New Document in 318!");
privatePageLoad(318, 0);
};
return {
newDocument: handleDocummentAdded
}
})();
mymap['230'].newDocument();
mymap['318'].newDocument();
я получаю следующий результат:
New Document in 230! (index):29
PAGE LOAD from 318: 230 (index):40
New Document in 318! (index):44
PAGE LOAD from 318: 318
, но я ожидал:
New Document in 230! (index):29
PAGE LOAD from 230: 230 (index):40
New Document in 318! (index):44
PAGE LOAD from 318: 318
частный метод, который называется это всегда последний добавленный к карте ... Что я сделал неправильно?
Вот jsfiddle с ним http://jsfiddle.net/jpedro/4xdTA/