此代码求值为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不是数字,所以它停在这里。