简单登录脚本的分配中的左侧无效
Invalid left-hand side in assignment for simple login script
我必须为js类构建一个简单的登录脚本。
我无法让循环工作。每次我输入任何信息时,它都会给我"作业中的左侧无效"
单击登录按钮时,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";
}
如果我将 if 语句中的 = 更改为 ==,它将接受数组的最后一个有效登录,但不接受其他登录。
=
是赋值运算符
==
是相等运算符
你混淆了两者。你想要后者。否则,分配结果的值将返回值本身(通常是 true 值)。
根据评论,还有严格的相等运算符。对于==
和===
之间的差异,这个答案会让你大吃一惊。
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 在循环中分配json值时,值被覆盖
- 动态分配GA增强型电子商务跟踪器
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 如何在jQuery中将函数的输出分配给变量
- 为集合分配大量的模型弹药
- onclick函数需要双击,因为类分配延迟
- 未捕获的引用错误:分配中的左侧无效
- JSON 数据的分配无效
- 为什么它会在分配中显示无效的左侧
- 我在这里做错了什么?未捕获的引用错误:分配中的左侧无效
- 为什么我得到“左侧的分配无效”
- 未捕获的引用错误:在 Coldfusion 中分配(匿名函数)中的左侧无效
- 在IE中收到错误,例如“参数数量错误或属性分配无效”
- 无效的左手分配
- 无效的字符串长度/分配大小重载JavaScript
- 我收到左边“无效的分配”
- Javascript无效分配左侧
- 简单登录脚本的分配中的左侧无效