重複の可能性:
Javascript グローバル変数が更新されていない
私が作っているこのサイトがあります。別の関数からグローバル変数を更新したい。グローバル変数 statCheck は 0 に初期化されます。2 つの関数を作成しました。1 つはグローバル変数を更新し、アラートによって新しい値を表示する関数で、もう 1 つは更新されたグローバル変数の新しい値を警告するだけの関数です。問題は、最初の関数を呼び出すと、新しく更新された値が警告されることですが、2 番目の関数を呼び出すと、元の値がゼロであることが警告されます。これが私のコードです:
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 が 2 番目の関数です。