所以看起来Javascript中没有函数静态变量。我试图在函数内增加一个变量,但我不想这样做:
function countMyself() {
if ( typeof countMyself.counter == 'undefined' ) {
// It has not... perform the initilization
countMyself.counter = 0;
}
}
我想用闭包来做,但我很难理解这些。
有人在另一个问题中提出了这个建议:
var uniqueID = (function() {
var id = 0;
return function() { return id++; };
})();
但是当我提醒 uniqueID 时,它所做的只是打印这一行: return function() { return id++; };
所以我想知道如何在不污染全局范围的情况下增加函数中的变量。
最佳答案
您必须实际调用 uniqueID
- 您不能将 is 视为变量:
> uniqueID
function () { return id++; }
> uniqueID()
0
> uniqueID()
1
关于Javascript - 使用闭包递增静态函数变量模拟?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19193348/