- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据MDN page 1 关于isNaN
(强调我的):
Unlike all other possible values in JavaScript, it is not possible to rely on the equality operators (== and ===) to determine whether a value is NaN or not, because both NaN == NaN and NaN === NaN evaluate to false. Hence, the necessity of an isNaN function.
但是,由于 NaN
是 JavaScript 中唯一与自身比较不相等的值,因此实际上可以依靠严格的相等运算符来确定,明确地 ,无论值是否为 NaN
:
const value = NaN;
console.log(value === value)
也就是说,那句 MDN 的解释是什么?
PS:我知道 MDN 不是官方文档(也就是 ECMA),它很像维基百科,任何人都可以编辑它。即便如此,它仍然是一个非常可靠的来源。
1:该问题发布后该段已被编辑,as mentioned由回答者提供。
最佳答案
不,不需要内置的 isNaN
函数。 isNaN
只是为了方便起见。当然,可以手动执行:
const isNaN = arg => arg !== arg
对于您想在其中执行此类操作的每个脚本,但这会很乏味。
或者,如果没有该函数,请考虑阅读如下代码:
if (parsedNumber !== parsedNumber) {
// It's NaN
}
那看起来真的很奇怪,让代码尽可能可读符合程序员的最大利益。
关于javascript - isNaN() 真的有必要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64289840/
我正在使用 this solution在二进制矩阵中找到与图像边界对齐的矩形。假设现在我想找到一个不与图像边框对齐的矩形,并且我不知道它的方向;找到它的最快方法是什么? 为了示例,让我们寻找一个仅包含
else: 行在这个 Python 程序中是否正确/必要? from random import randrange for n in range(10): r = randrange(0,1
在 TDPL 7.1.5.1 中讨论了将 Widget w2 分配给 w1 并且作者指出“将 w2 逐个字段分配给 w1 会将 w2.array 分配给 w1.array——一个简单的数组边界分配,而
我是一名优秀的程序员,十分优秀!