Tob*_*non 2 javascript variables scope
例如,我有一个变量,每次运行函数时都应该递增.我希望变量最初的值为0,但每次调用函数时都会增加1.我不想给变量全局范围,但是很明显,如果我在函数内声明它,它将在每次调用时重置为0.有没有一种简单有效的方法来在Javascript中执行此操作?
我的Javascript:
function myFunction(){
var i=0;
//Body of function
i++;
}Run Code Online (Sandbox Code Playgroud)
您可以在函数对象本身上设置值,如下所示
function myFunction() {
myFunction.i = myFunction.i || 0;
myFunction.i++;
}
Run Code Online (Sandbox Code Playgroud)
或者,你可以像这样使用闭包
var myFunction = (function () {
var i = 0;
return function () {
// `myFunction` will be this function only and it increments the
// `i` from the enclosed function.
i++;
}
})();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |