我不知道如何在 javascript 的 if 命令中使用“NaN”
i don't know how to use ' NaN ' in javascript's if command
大家好,我知道这段代码太简单了,但我是 javascript 的新手,我仍在学习它。 此代码从用户那里获取一个值,然后显示一个答案,但该值是否为数字并不重要,它只是说 = 它是一个数字。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<!--Javascript starts-->
<script>
var age = prompt("How old are you ?","18");
if(age == NaN)
{
alert("its not a number");
}else
{
alert("its a number");
}
</script>
<!--End of Javascript-->
</body>
</html>
NaN
不等于 javascript 中的任何值,甚至不等于其自身。
prompt
returns 一个字符串,如果你想检查它是否是一个数字字符串,检查 age
是否可以使用 Number()
转换成数字。
var age = prompt("How old are you ?","18");
if(age != '0' && !Number(age)) { // extra check for '0'
alert("its not a number");
} else {
alert("its a number");
}
上面代码中应牢记的几个极端情况:
'0'
是一个 falsey
值,因此如果 age
是 '0'
,则此条件 !Number(age)
的计算结果为真。为防止这种情况,请添加额外检查以确保 age
不是 '0'
- 空字符串
''
当被强制转换为数字时计算结果为 0
,因此条件 !Number(age)
将正确计算为真,而 isNan(age)
将计算为假,这将导致 else
块的执行。
输入 age
将是一个字符串。请改用 isNaN()
。这将按您的预期工作。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<!--Javascript starts-->
<script>
var age = prompt("How old are you ?","18");
if(isNaN(age))
{
alert("its not a number");
}else
{
alert("its a number");
}
</script>
<!--End of Javascript-->
</body>
</html>
您应该了解 isNaN 函数。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<!--Javascript starts-->
<script>
var age = prompt("How old are you ?", "18");
if (isNaN(age)) {
alert("its not a number");
} else {
alert("its a number");
}
</script>
<!--End of Javascript-->
</body>
</html>
你可以使用 isNaN() 吗?
只有NaN,没有什么等于NaN,包括它自己。
var num = NaN;
console.log(num === num); // false
(~~age > 0) ? alert('valid') : alert('invalid')
大家好,我知道这段代码太简单了,但我是 javascript 的新手,我仍在学习它。 此代码从用户那里获取一个值,然后显示一个答案,但该值是否为数字并不重要,它只是说 = 它是一个数字。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<!--Javascript starts-->
<script>
var age = prompt("How old are you ?","18");
if(age == NaN)
{
alert("its not a number");
}else
{
alert("its a number");
}
</script>
<!--End of Javascript-->
</body>
</html>
NaN
不等于 javascript 中的任何值,甚至不等于其自身。
prompt
returns 一个字符串,如果你想检查它是否是一个数字字符串,检查 age
是否可以使用 Number()
转换成数字。
var age = prompt("How old are you ?","18");
if(age != '0' && !Number(age)) { // extra check for '0'
alert("its not a number");
} else {
alert("its a number");
}
上面代码中应牢记的几个极端情况:
'0'
是一个falsey
值,因此如果age
是'0'
,则此条件!Number(age)
的计算结果为真。为防止这种情况,请添加额外检查以确保age
不是'0'
- 空字符串
''
当被强制转换为数字时计算结果为0
,因此条件!Number(age)
将正确计算为真,而isNan(age)
将计算为假,这将导致else
块的执行。
输入 age
将是一个字符串。请改用 isNaN()
。这将按您的预期工作。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<!--Javascript starts-->
<script>
var age = prompt("How old are you ?","18");
if(isNaN(age))
{
alert("its not a number");
}else
{
alert("its a number");
}
</script>
<!--End of Javascript-->
</body>
</html>
您应该了解 isNaN 函数。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<!--Javascript starts-->
<script>
var age = prompt("How old are you ?", "18");
if (isNaN(age)) {
alert("its not a number");
} else {
alert("its a number");
}
</script>
<!--End of Javascript-->
</body>
</html>
你可以使用 isNaN() 吗?
只有NaN,没有什么等于NaN,包括它自己。
var num = NaN;
console.log(num === num); // false
(~~age > 0) ? alert('valid') : alert('invalid')