看到这个问题:JavaScript 中是否有一种(内置)方法来检查字符串是否为有效数字? https://stackoverflow.com/questions/175739/is-there-a-built-in-way-in-javascript-to-check-if-a-string-is-a-valid-number和这个:jsperf http://jsperf.com/isnan-vs-typeof/5,提出的方法之一是(比照):
var a = "123"
var b = "123b"
if ( +a === +a ) // true
if ( +b === +b ) // false
这个逻辑是如何运作的内部在 JavaScript 中使这成为可能?
我的问题是not如何检查字符串是否是有效数字 - 这已经在这里得到解答:在 JavaScript 中验证十进制数字 - IsNumeric() https://stackoverflow.com/questions/18082/validate-decimal-numbers-in-javascript-isnumeric。我想了解该声明如何+a === +a
works.
+
将值转换为数字。
a
被转换为123
and 123 === 123
.
b
被转换为NaN
but NaN !== NaN
(因为NaN
永远不等于另一个NaN
根据平等规则的步骤 4a http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)