我在用Javascript和类型强制(Javacript进行变量类型的自动转换)时遇到了这个奇怪的错误。这是代码
console.log('23' < '3');
在名为index.js的文件中,该文件由此简单的html调用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Hello World</h1>
<script src="index.js"></script>
</body>
</html>
真正奇怪的是,该操作返回true而不是false。我做了一些测试,发现对于所有2 <x <10,此'23 <x'操作都是错误的。有人知道为什么会发生此错误吗?
这不是错误,您正在比较两个字符串,并且字符串'23'小于字符串'3'。在字符串比较中,比较第一个字符,如果一个小于另一个,则终止比较。
在ASCII表(https://www.asciitable.com/)中,“ 2”也小于“ 3” ,因此可以预期结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句