无疑这已经存在,但经过20分钟的寻找,我在任何地方都找不到。
我想要的是一个递增计数的函数,因此,第一次调用uniqueNum()时,它将返回0,然后是1,然后是2,依此类推。
function uniqueNum(){
if (typeof x !== 'number') {
var x = 0;
} else {
x++;
}
return x
}
我不希望函数外有任何全局变量或变量。
我得到的总是返回0;
最佳答案
闭包可以做到这一点:
var uniqueNum = (function(){
var num = 0;
return function(){
return num++;
}
}());
uniqueNum(); // 0
uniqueNum(); // 1
如other answers中所建议的,“静态”变量也可以工作。