开发一个程序,允许人们进入办公室的基础上,这些名字,这只是一个测试程序,以实践和发展我的技能在JavaScript.。。 为什么当users输入和my数组(Employees)成功匹配时会执行“Try Again”语句?
// program to allow people to enter the office
console.log("Welcome to Company X, Please follow the")
let Employees = ["Harry","Dom","j"]
let visitors = prompt("Hi, Enter your name")
let attempts = 0
let alert = 2
for(let i = 0; i<Employees.length;i++) {
while(visitors!=Employees[i] && attempts<alert) {
attempts = attempts + 1
visitors = prompt("try again")
}
if(visitors===Employees[i]) {
console.log("Please move forward")
}
}
if (attempts>=alert) {
console.log("Security ON-ROUTE!")
}
让我们想想这里发生了什么。
首先,在employees[0]
中有“harry”,假设我输入了“harry”作为“visiters”
因此while循环具有false条件,它将运行console.log(“please move forward”)
但它不会停止,现在employees[1]
将是“dom”,因此While循环条件将为true,并将再次询问您的姓名,等等。
所以其中一个解决办法就是加上:
null
if(visitors===Employees[i]) {
console.log("Please move forward")
i = Employees.length ;
}