Вот простой текст из учебника, который я не могу найти.
У меня есть функция JavaScript. Я хочу, чтобы он содержал приватную переменную, которая запоминает ее значение между вызовами.
Может кто-нибудь пробежит мою память, пожалуйста.
Создать его с помощью замыкания:
function f() { var x = 0; return function() {return x++;}; }
Затем используйте его следующим образом:
> g = f() function () {return x++} > g() 0 > g() 1 > g() 2
var accumulator = (function() { var accum = 0; return function(increment) { return accum += increment; } })(); alert(accumulator(10)); alert(accumulatot(15));
Отображает 10, затем 25.
Я не уверен, правильно ли я понял, но, может быть, что-то подобное поможет:
function Foo() { var x = "some private data"; return { getPrivateData : function(){ return x; } }; }; var xx = new Foo(); xx.getPrivateData();
Вот действительно частная реализация
(function() { var privateVar = 0; window.getPreviousValue = function(arg) { var previousVal = privateVar; privateVar = arg; return previousVal; } })() alert(getPreviousValue(1)); alert(getPreviousValue(2));
Приветствия