首页 > 解决方案 > Javascript 不运行“else”或“===”,但适用于“if”和“else if”

问题描述

您好,我是 javascript 新手并尝试运行以下命令

var age = prompt("What is your age");
if (age < 19) {
  document.write("You can't drink");
}
else if (age === 19) {
  document.write("you can finally drink");
}
else (age > 19) {
  document.write("you can already drink");
}

我似乎无法显示任何内容,但是如果我更改代码以删除 else 语句并将其更改===为仅==运行我的代码。这是我摆脱 else 语句和运算符后运行时的样子===

var age = prompt("What is your age");
if (age < 19) {
  document.write("You can't drink");
}    
else if (age == 19) {
  document.write("you can finally drink");
}

我试图让第一个代码块运行但不能。页面为空,没有提示出现。有人请帮忙。

标签: javascript

解决方案


您的代码中有几个错误:

1) prompt方法返回stringno number,所以:

使用==代替===

else if (age == 19) {

PS: (19 == '19'); 只是(19 === '19') true ; false

转换age为数字:

else if (Number(age) === 19) {

2)你不应该使用条件else,所以你必须else像这样改变:

else { document.write("you can already drink"); }

var age = prompt("What is your age");

if (age < 19) { document.write("You can't drink"); }

else if (Number(age) === 19) { document.write("you can finally drink"); }

else { document.write("you can already drink"); }


推荐阅读