Javascript更新函数无效的全局变量

时间:2012-10-22 18:24:10

标签: javascript

  

可能重复:
  Javascript global variable is not updating

我有这个网站,我正在制作。我想从另一个函数更新一个全局变量。全局变量statCheck初始化为0.我创建了2个函数,1表示更新全局变量并通过alert显示新值,第二个函数只是警告更新后的全局变量的新值。现在的问题是,当我调用第一个函数时,它会警告新的更新值,但是当我调用第二个函数时,它会警告原始值为零。这是我的代码:

var statCheck=0;

var users=new Array();
var password=new Array();
users[0]="clydewinux";
password[0]="moonfang";
users[1]="freddipasquale";
password[1]="evastar182";

function verifyInput(){
var u=login.username.value;
var p=login.password.value;
for (var c=0;c<=1;c++){
    if(u===users[c]&&p===password[c])
        { 
        statCheck=1; 
        alert(statCheck);
        window.open("login.htm", '_self'); 
        break;}
    else
        {document.getElementById("username").value="Invalid username..."; 
        window.open("home.htm", '_self'); 
        break;}
    }

        }

function logout(){
alert(statCheck);
window.open("home.htm", '_self');
}

*注; function verifyInput()是第一个函数,函数logout是第二个函数。

1 个答案:

答案 0 :(得分:1)

使用全局变量时,最好将它们显式为全局变量:

window.statCheck = 0;
// ...
window.statCheck = 1;
// ...
alert(window.statCheck);

这也有助于提高代码的可读性。