如何在JavaScript中设置全局变量

How to set a global variable in JavaScript?

本文关键字:设置 全局变量 JavaScript      更新时间:2023-09-26

每次调用函数时,我都想增加一个计数器。但每次我调用它时,它都被设置为0。如何维护nextKeyIndex的更新值?

我正在从一个javascript文件中调用getKey函数。其他应该返回更新索引(从0到4)的javascript文件有以下代码。。

var nextKeyIndex=0;
function getKey() {
   if (nextKeyIndex == 4)
      nextKeyIndex = 0;
   else
      nextKeyIndex = nextKeyIndex + 1;
   alert(nextKeyIndex);

我试过你按照下面的方式编写代码,它对我有效。请尝试下面的代码。

<script>
var nextKeyIndex=0;
function getKey() {
   if (nextKeyIndex == 4)
      nextKeyIndex = 0;
   else
      nextKeyIndex = nextKeyIndex + 1;
   alert(nextKeyIndex);
}
</script>
<input type="button" onclick="getKey()" value="click" />

如果没有在函数中显式声明javascript中的所有变量,则默认情况下它们都是全局变量。您确定第一行声明(var nextKeyIndex=0)没有在某个地方重新运行或重新加载吗?

<a href="#" onclick="getKey()">Click Me To Increment</a>
var nextKeyIndex=0;
getKey=function() {
   if (nextKeyIndex == 4)
      nextKeyIndex = 0;
   else
      nextKeyIndex = nextKeyIndex + 1;
   alert(nextKeyIndex);
}

它在jsfiddle中对我有效:

http://jsfiddle.net/WJYx2/

如何在javascript中设置全局变量?

如果声明了不带var的内容,或者将其声明为window对象的一部分,则可以设置全局变量

global = 10; // global variable
window.global = 10; // also global variable
var nextKeyIndex=0;
function getKey() {
   if (nextKeyIndex == 4){
      nextKeyIndex = 0;
   }else{
      nextKeyIndex = nextKeyIndex + 1;
}
   alert(nextKeyIndex);
}