Javascript 简单登录脚本的分配中的左侧无效

Javascript 简单登录脚本的分配中的左侧无效,javascript,Javascript,我必须为js类构建一个简单的登录脚本 我无法让循环工作。每次我输入任何信息,它都会给我“分配中的左侧无效” 单击login按钮时,getData函数获取框的值,然后将其传递给登录函数,登录函数根据数组进行检查。这就是脚本停止的地方。如果我将If语句中的=改为==它将接受数组的最后一个有效登录名,但不接受其他登录名 我做错了什么 <script type="text/javascript"> var userLogins = [{user:"user1", password:"pass

我必须为js类构建一个简单的登录脚本

我无法让循环工作。每次我输入任何信息,它都会给我“分配中的左侧无效”

单击login按钮时,getData函数获取框的值,然后将其传递给登录函数,登录函数根据数组进行检查。这就是脚本停止的地方。如果我将If语句中的=改为==它将接受数组的最后一个有效登录名,但不接受其他登录名

我做错了什么

<script type="text/javascript">
var userLogins = [{user:"user1", password:"pass1"},{user:"user2", password:"pass2"},{user:"user3", password:"pass3"}]
var success = null;
function logon(user, pass) {
    userok = false;
    for (i = 0; i < userLogins.length; i++)
    { 
        if(pass = userLogins[i].password && user = userLogins[i].user )
        {
            success = true;
        }
        else
        {
            success = false;
        }
    }
    secret(success);
}

function getData() {
    var user = document.getElementById("userid").value;
    var password = document.getElementById("password").value;
    logon(user, password);
}

function secret(auth){
    if(auth)
    {
        show('success');
        hide('login');
    }
    else
    {
        show('error');
        hide('login');
    }
}

function show(show) {
    document.getElementById(show).className = "show";
}
function hide(hide) {
    document.getElementById(hide).className = "hide";
}

var userLogins=[{user:“user1”,密码:“pass1”},{user:“user2”,密码:“pass2”},{user:“user3”,密码:“pass3”}]
var成功=null;
功能登录(用户,通过){
userok=false;
对于(i=0;i
如果我将If语句中的=改为==它将接受数组的最后一个有效登录名,但不接受其他登录名

=

==

你把这两个搞混了。你想要后者。否则,赋值将返回值本身(通常为真值)

根据注释,还有严格的相等运算符。因为
=
==
之间的差异会让你大吃一惊

如果我将If语句中的=改为==它将接受数组的最后一个有效登录名,但不接受其他登录名

=

==

你把这两个搞混了。你想要后者。否则,赋值将返回值本身(通常为真值)


根据注释,还有严格的相等运算符。因为
=
==
之间的差异会让你大吃一惊。

=
用于JavaScript中的作业,你需要使用
=
==
用于JavaScript中的作业,您需要使用
=
==
===
来防止强制surprises@Matt的确是惠普尔。小步骤:)我尝试将
=
更改为
=
==
,但脚本只匹配数组中的最后一个元素。user3和pass3工作,但其他的不工作。我保证您不想使用
=
。您如何调用
登录(用户,通行证)
?您还有另一个问题,与防止强制的
==
无关surprises@Matt的确是惠普尔。小步骤:)我尝试将
=
更改为
=
==
,但脚本只匹配数组中的最后一个元素。user3和pass3工作,但其他的不工作。我保证您不想使用
=
。您如何调用
登录(用户,通行证)
?您还有一个问题,与
==
无关。