我想问它&#34;你的年龄是多少?&#34;如果年龄<&lt; 21我希望随后的警报和页面立即关闭。在这种情况下,它仍然会带来&#34;年龄不匹配&#34;警报。编码1.5小时,不要取笑我。
var age = prompt("What is your age?");
if (age < 21) {
alert("Access denied"); window.close();
}
if (age == 21) {
alert("Just made it");
}
if (age > 21) {
alert("Welcome aboard");
}
// Confirm
if (age >= 21) {
var ageconfirm = prompt("Again?");
}
if (age==ageconfirm) {
alert("Just checkin'")
}
if (age != ageconfirm) {alert("Age doesn't match");
}
if (ageconfirm <21) { window.close();
}
答案 0 :(得分:0)
这应该做你想做的事情:
var age, ageconfirm;
age = prompt("What is your age?");
if (age < 21) {
alert("Access denied"); window.close();
} else if (age == 21) {
alert("Just made it");
} else if (age > 21) {
alert("Welcome aboard");
}
// Confirm
if (age >= 21) {
ageconfirm = prompt("Again?");
if (age == ageconfirm) {
alert("Just checkin'");
} else {
alert("Age doesn't match");
}
} else {
window.close();
}
要记住的一件事是prompt
返回一个字符串,因此使用parseInt
可能是个好主意。然后,您可以使用===
来比较==
。
答案 1 :(得分:0)
您可以使用return来停止执行:
var age = prompt("What is your age?");
if (age < 21) {
alert("Access denied");
return window.close();
}
if (age == 21) {
alert("Just made it");
}
if (age > 21) {
alert("Welcome aboard");
}
// Confirm
if (age >= 21) {
var ageconfirm = prompt("Again?");
}
if (age == ageconfirm) {
alert("Just checkin'")
}
if (age != ageconfirm) {
alert("Age doesn't match");
}
if (ageconfirm < 21) {
return window.close();
}
答案 2 :(得分:0)
问题是你的第二个代码块应该嵌套在if
块中。在您说“如果用户年满21岁”的那一刻,提示他们再次输入他们的年龄。&#39;然后退出if
块,因此无论原始答案是什么,都执行最后一个代码。
var age, ageconfirm
age = prompt("What is your age?");
if (age < 21) {
alert("Access denied"); window.close();
}
else if (age == 21) {
alert("Just made it");
}
else if (age > 21) {
alert("Welcome aboard");
}
// Confirm
if (age >= 21) {
ageconfirm = prompt("Again?");
if (age == ageconfirm) {
alert("Just checkin'")
}
else if (age != ageconfirm) {
alert("Age doesn't match");
}
else if (ageconfirm < 21) {
window.close();
}
}
这是我要检查的解决方案的JSFiddle: