Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript数值比较运算符如何处理字符串? var i=['5000','35000']; 警报((i[0]_Javascript_String_Comparison_Operators_Numeric - Fatal编程技术网

Javascript数值比较运算符如何处理字符串? var i=['5000','35000']; 警报((i[0]

Javascript数值比较运算符如何处理字符串? var i=['5000','35000']; 警报((i[0],javascript,string,comparison,operators,numeric,Javascript,String,Comparison,Operators,Numeric,这里发生了什么事?在第一个警报中,文本字符串“5000”的计算结果不小于“35000”。我假设Javascript在数字比较字符串时使用Number(),但显然不是这样。只是好奇Javascript在默认情况下是如何处理数字字符串的比较的。Javascript通过字符值来比较字符串,不管字符串看起来是否像数字 您可以在第11.8.5节第4点中看到这一点 'a'

这里发生了什么事?在第一个警报中,文本字符串“5000”的计算结果不小于“35000”。我假设Javascript在数字比较字符串时使用Number(),但显然不是这样。只是好奇Javascript在默认情况下是如何处理数字字符串的比较的。

Javascript通过字符值来比较字符串,不管字符串看起来是否像数字

您可以在第11.8.5节第4点中看到这一点


'a'
'ab'
都是正确的。

谢谢!第4点(a)字符串比较前缀标准也很有趣。好吧,我仍然缺少一些东西——我理解上面的示例,但我不理解字符值“5000”如何不小于字符值“35000”。你能告诉我如何为我的特定示例计算字符值吗?@Wick:
“5”
“3”
更重要。这是一个纯粹基于角色的比较。规范链接现在似乎有了一些新的内容(药物成瘾的艺术治疗)。
var i = ['5000','35000'];
alert((i[0] < i[1])?'well duh!':'fuzzy math?');
alert((Number(i[0]) < Number(i[1]))?'well duh!':'fuzzy math?');