0 javascript if-statement boolean user-input input
在此程序中,任何数字的输入低于0或高于或高于121字符串应返回为'Invalid Input'.但是,输入字符串时,将FULL_PRICE返回该字符串.
const LOW_AGE = 5,
HIGH_AGE = 69,
MID_AGE = 17,
MAX_AGE = 120,
FULL_PRICE = "You must pay full price.",
HALF_PRICE = "You must pay half price.",
FREE = "You may travel for free";
function main() {
var age, inputError, cost;
age = Number(prompt("Enter Your Age:"));
if (age < 0 || age > MAX_AGE || age == NaN)
inputError = true;
else
inputError = false;
if (age < LOW_AGE || age > HIGH_AGE)
cost = FREE;
else if (age < MID_AGE)
cost = HALF_PRICE;
else
cost = FULL_PRICE;
if (inputError)
alert("Input Error.");
else
alert(String(cost));
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我试图false通过使用来触发字符串age == NaN.
我也试图进入age == String.
肯定会返回true一个字符串?
JavaScript中有一点点.NaN == NaN是false,NaN === NaN是false,太.如果你想比较一些东西来NaN使用这个isNaN()功能.
例:
if (age < 0 || age > MAX_AGE || isNaN(age))
inputError = true;
Run Code Online (Sandbox Code Playgroud)