首页 > web前端 > js教程 > 为什么它; LT;返回 true 但 gt; > > JavaScript 中返回 false?

为什么它; LT;返回 true 但 gt; > > JavaScript 中返回 false?

WBOY
发布: 2024-08-21 06:05:02
原创
806 人浏览过

Why does lt; lt; eturn true but gt; gt; eturn false in JavaScript?

嘿,JavaScript 粉丝!您是否曾经遇到过这样的时刻:您的代码做了一些奇怪的事情,而您却摸不着头脑?好吧,今天我给你准备了一份好东西。

看看这个:

console.log(1 < 2 < 3);  // true
console.log(3 > 2 > 1);  // false
登录后复制

等等,什么?第二个是假的?但是3大于2,2又大于1,对吗?那么这是怎么回事?

让我们来分解一下:

  1. JavaScript 从左到右读取这些比较。
  2. 对于 1
  3. 首先,它 1
  4. 那么它确实是
  5. 3人份> 2> 1:
    • 首先,它执行 3 > > 2. 确实如此。
    • 那么它确实是> 1.

现在,重点来了:当 JavaScript 将 true 与数字进行比较时,它会将 true 变为 1。

所以真正发生的是:

  1. 真实
  2. 真实> 1变为1> 1,这是错误的。

这就是为什么我们第一个为 true,第二个为 false。

疯了,对吧?

那么,我们可以从中学到什么?当你进行多重比较时,最好是清楚的。而不是 3> 2> 1,你可以写(3 > 2) && (2 > 1)。虽然有点长,但至少达到了你的预期。

以上是为什么它; LT;返回 true 但 gt; > > JavaScript 中返回 false?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板