JavaScript数值自等式 [英] JavaScript numeric self equality
本文介绍了JavaScript数值自等式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我最近遇到了以下代码:
I recently came across the following code:
function baseClamp(number, lower, upper) {
if (number === number) {
if (upper !== undefined) {
number = number <= upper ? number : upper;
}
if (lower !== undefined) {
number = number >= lower ? number : lower;
}
}
return number;
}
函数开头的条件很有趣.
The conditional at the beginning of the function is interesting.
if (number === number) {
我在Chrome中测试了以下内容:
I tested the following in Chrome:
var number = undefined;
number === number
true
number = null
number === number
true
number = NaN
number === number
false
number ===数字
只是检查NaN还是更多?
Does number === number
simply check for NaN or is there more to it?
推荐答案
number ===数字
仅检查 number
是否不是 NaN
. NaN
是唯一不等于其自身的值.
number === number
simply checks if number
is not NaN
. NaN
is the only value which is not equal to itself.
number ===数字
可以替换为!Number.isNaN(number)
(请参阅
number === number
can be replaced with !Number.isNaN(number)
in modern browsers (see MDN docs).
这篇关于JavaScript数值自等式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文