我目前正在开始学习JavaScript。但是,有人可以告诉我下面的程序出了什么问题,为什么只有18岁才能被接受?当年龄是<18或> 18岁时,当我从控制台运行以下代码时,在chrome控制台上会得到不确定的结果:
var age = prompt("What is your age?");
if (Number(age) < 18) {
alert("Sorry, you are too young to drive this car. Powering off");
} else if (Number(age) > 18) {
alert("Powering On. Enjoy the ride!");
} else if (Number(age) === 18) {
alert("Congratulations on your first year of driving. Enjoy the ride!");
}
答案 0 :(得分:0)
浏览器中的控制台环境旨在获取程序中的最后一个语句表达式,并对其求值,然后向您显示该值。如果该语句不返回任何内容,则会得到未定义。
例如,如果您在控制台中键入var x = 2
,则将得到未定义的内容,但是如果您键入x = 2
,则将得到2。
答案 1 :(得分:-1)
如果已经是一个数字,通常不需要使用Number()将其转换为数字。
而且,如果它是一个普通整数,则没有理由相信Number()应该将其转换为除数字之外的任何数字。
我可以想象的唯一可能的问题是,当您运行代码段时,“ age”不是期望值。