关系成立返回true,关系不成立返回false。
大于
<script>
var a = 5>10;
console.log(a);
var b = 5>1;
console.log(b);
</script>

大于等于
<script>
var a = 5>5;
console.log(a);
var b = 5>=5;
console.log(b);
</script>

小于和小于等于
类似的,不演示。
非数值的情况
<script>
console.log(1>true);
console.log(1>=true);
console.log(2>"2");
console.log(2>="2");
</script>

从这个可以看到,会先将数据转换成数字,再比较。
<script>
console.log(2<"hello");
console.log(2<="hello");
console.log(2>"hello");
</script>

任何值与Undefined比较,都是false。
如果两个数值都是字符串,是怎么比的呢?
<script>
console.log("22"<"3");
console.log("22"<="3");
console.log("22">"3");
</script>

这里它是比的字符编码。而且是按位比较,即第一个数据的第一位比第二个数据的第一位。如果相等则比较第二位,依次类推。
所以这里得注意,如果我们是想比较两串数字,而不是比它们的字符编码,要怎么办呢?
把其中一个转成数值就行了。
<script>
console.log("22"< +"3");
console.log(+"22"<="3");
</script>

这篇博客探讨了JavaScript中的关系运算符(大于、小于、大于等于、小于等于)在不同数据类型间的比较规则。文章通过示例展示了如何进行非数值比较,以及在比较字符串时的字符编码原理。此外,还提到了在比较字符串数字时需要注意的字符编码问题,并给出了转换为数值进行比较的方法。
601

被折叠的 条评论
为什么被折叠?



