while(true){
let name = prompt('请输入用户名:')
let password = prompt('请输入密码:')
if(password == '123456' && name == admin){
alert('登陆成功')
break
}
}
当我给admin加上单引号变为字符串时 运行正常 可以弹出alert 但当admin不为字符串时 程序跳出循环但没有弹出alert是为什么啊各位
f(password == '123456' && name ==admin){
alert('登陆成功')
break
}
name == admin 是判断两个值是否相等的
没有加引号是 你是判断name的值是否等于amdin这个变量,但是admin这个变量的值你没有初始化,默认回事undefine所以就不会执行alert了
但是你加了引号,就是name的值是否等于admin这个字符串,只要name的值时admin时就会执行alert了
没加引号是变量,变量没有申明报错了程序当然崩了
因为不加引号admin 是个变量,&&两个都必须为true才会执行
如下添加一行代码,你在循环中,加不加引号都能太初alert。
不加引号,则是引用变量,
加引号,则是使用一个字符串。
// 添加一行
let admin = 'admin'
while(true){
let name = prompt('请输入用户名:')
let password = prompt('请输入密码:')
if(password == '123456' && name ==admin){
alert('登陆成功')
break
}
}
if(password == '123456' && name ==admin){ admin丢了引号了吧,还是说在循环外有定义?