例如,我有一个变量,每次运行该函数时它都应该递增。我希望变量最初被赋予 0 的值,但每次调用该函数时都会增加 1。我不想给变量全局范围,但是很明显,如果我在函数中声明它,每次调用时它都会重置为 0。 在 Javascript 中是否有一种简单有效的方法来做到这一点?
我的Javascript:
function myFunction(){
var i=0;
//Body of function
i++;
}
最佳答案
您可以像这样在函数对象本身上设置值
function myFunction() {
myFunction.i = myFunction.i || 0;
myFunction.i++;
}
或者,你可以像这样使用闭包
var myFunction = (function () {
var i = 0;
return function () {
// `myFunction` will be this function only and it increments the
// `i` from the enclosed function.
i++;
}
})();
关于javascript - 在函数运行的第一个实例上设置变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29985304/