全局变量/数组问题

时间:2011-08-09 17:38:06

标签: javascript html

Users = new Array;
Passwords = new Array;

function LogIn() {
    Users[10] = "username"
    Passwords[10] = "password"
    Username = user.value;
    Password = pass.value;

    for (i = 0; i <= Users.length; i++) {
    if (Users[i] == Username) {
        if (Passwords[i] == Password) {
            alert("yay!");
        } else
        {
            alert("nay");
        }   
    }
    }
}

function Register() {
    Username = user.value;
    Password = pass.value;

    Users.push(Username);
    Passwords.push(Password);
}

好吧,所以我在空闲时间自学Javasctipt,我觉得最好的方法就是把它弄乱一段时间。我目前正在尝试建立一个主要的“登录”/“注册”网页/功能,我显然遇到了一些问题。

全局变量。我需要数组“用户”和“密码”是全局的,但我现在设置它的方式,我认为它们每次调用函数集时都会被初始化。所以,我想我会问这两个问题:我意识到数组可能对于这样的项目来说不是最好的,但是,如何将我存储在数组中的值从运行到运行持久化?

<script type="text/javascript" src="LogIn.js"></script>
<script type="text/javascript" src="Register.js"></script>

<body>
Username: <input type="text" id="user" /> 
Password: <input type="password" id="pass" /> 
<input type="button" value="Log In" onClick="LogIn()"/>
<input type="button" value="Register" onClick="Register()" />
<hr />
</body>

3 个答案:

答案 0 :(得分:0)

有点难以理解你所要求的东西,但我认为这会指出你正确的方向:

Users = new Array;
Passwords = new Array;

Users[0] = "john";
Users[1] = "sue";
Users[2] = "jack";

Passwords[0] = "blue";
Passwords[1] = "black";
Passwords[2] = "green";

function LogIn() {
   //login logic here
}

答案 1 :(得分:0)

非常接近

Users = new Array();
Passwords = new Array();

function LogIn() {
    Username = document.getElementById("user").value;
    Password = document.getElementById("pass").value;

    for (i = 0; i <= Users.length; i++) {
        if (Users[i] == Username) {
            if (Passwords[i] == Password) {
                alert("yay!");
            } else
            {
                alert("nay");
            }   
        }
    }
}

function Register() {
    Username = document.getElementById("user").value;
    Password = document.getElementById("pass").value;

    Users.push(Username);
    Passwords.push(Password);

}

只需要稍微调整一下。

答案 2 :(得分:0)

这个问题有点难以理解。网页是无状态的,存储在javascript中的值只会在页面重新加载之前一直存在。

对于您的实验,如果您想跨页面加载执行某种类型的持久性,则应该查看类似于使用Cookie的内容。

相关问题