javascript - 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");
}
我试图让第一个代码块运行但不能。页面为空,没有提示出现。有人请帮忙。
解决方案
您的代码中有几个错误:
1) prompt
方法返回string
no 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"); }
推荐阅读
- subprocess - 如何在使用超时时从 python 的 subprocess.run 捕获错误
- python - 我将如何使用 Google Sheets API 存储这些值?
- mongodb - mongodb 导入和导出语句始终出现错误
- typescript - 从类装饰器中访问注入服务?打字稿/NestJS
- snowflake-schema - 雪花中的相关子查询
- c# - 初始化对象数组,超出范围错误
- python - 在 Pandas DataFrame 中过滤列的更好方法
- json - 如何获得所有 Json Body 的孩子,Flutter
- ruby-on-rails - 无法索引 ElasticSearch 中的非模型字段
- java - 为带有节点的 java 哈希表编写我们自己的迭代器