所以我需要一个函数来增加变量的值,比如 n=0。当函数运行时,这个变量的值必须递增并且它不应该再次等于 0。例如考虑以下代码:
function increment(){
var n = 0;
n++;
return n;
}
现在每次运行这个函数时,你得到的值都是 1。但我的要求是,如果你第一次运行这个函数,它应该是 1,如果你第二次运行它,它应该是 2,依此类推。除非你刷新 html 页面并再次运行该函数,否则它应该不等于 0。任何人都可以帮助我吗?
我是编码新手,非常感谢任何小的帮助。提前致谢!!!
原文由 Gopal1216 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要在函数外声明 n 。
问题是范围。当你在函数内部声明一个变量时,它被绑定到函数的局部范围。一旦函数完成,变量就消失了。
在脚本的根级别声明变量会将其置于全局范围内。
另一种方法是在你传递的外部有一个变量,然后通过参数将它传递给函数。
有关范围和变量的更多信息,请查看此页面: https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Values,_variables,_and_literals#Variable_scope