对象不一致.是NaN的逻辑



此代码求值为false:

Object.is(parseFloat('26-broadway'), NaN); // returns false

然而,这个例子的计算结果为true:

Object.is(parseFloat('broadway-26'), NaN); // returns true

我本来希望最后一个代码片段返回false。为什么它返回true时,我把它粘贴在浏览器控制台,如谷歌Chrome?

正如Sebastian所指出的,真正的问题与Object.is无关,而与parseFloat()有关。

" parseFloat()从开头开始选择最长的子字符串,以生成有效的数字字面值。"它从左到右解析字符串。B不是数字,所以它停在这里。

最新更新