0

可能重复:
Javascript 全局变量未更新

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

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');
}

*笔记; 函数 verifyInput() 是第一个函数,函数 logout 是第二个函数。

4

1 回答 1

1

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

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

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

于 2012-10-22T18:29:12.283 回答