这是我从无法找到的教科书中直接看到的。
我有一个javascript函数。我希望它包含一个私有变量,它记住它在调用之间的值。
请有人慢慢记住我的记忆。
答案 0 :(得分:5)
使用闭包创建它:
function f() {
var x = 0;
return function() {return x++;};
}
然后按如下方式使用:
> g = f()
function () {return x++}
> g()
0
> g()
1
> g()
2
答案 1 :(得分:1)
var accumulator = (function() {
var accum = 0;
return function(increment) {
return accum += increment;
}
})();
alert(accumulator(10));
alert(accumulatot(15));
显示10然后25。
答案 2 :(得分:0)
这是一个真正的私人实施
(function() {
var privateVar = 0;
window.getPreviousValue = function(arg) {
var previousVal = privateVar;
privateVar = arg;
return previousVal;
}
})()
alert(getPreviousValue(1));
alert(getPreviousValue(2));
干杯
答案 3 :(得分:0)
我不确定我是否理解正确,但也许这样的事情可以解决问题:
function Foo() {
var x = "some private data";
return {
getPrivateData : function(){
return x;
}
};
};
var xx = new Foo();
xx.getPrivateData();