嘿,javascript 粉丝!您是否曾经遇到过这样的时刻:您的代码做了一些奇怪的事情,而您却摸不着头脑?好吧,今天我给你准备了一份好东西。 看看这个: co" />
登录
首页 >  文章 >  前端

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

来源:dev.to

时间:2024-11-26 14:20:53 228浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《为什么它; LT;返回 true 但 gt; > > JavaScript 中返回 false?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

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

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

看看这个:

console.log(1 < 2 < 3);  // true
console.log(3 > 2 > 1);  // false

等等,什么?第二个是假的?但是3大于2,2又大于1,对吗?那么这里发生了什么?

让我们来分解一下:

  1. javascript 从左到右读取这些比较。
  2. 对于 1 < 2 < 3:
    • 首先,它执行 1 < 2。确实如此。
    • 然后它确实是 < 3.
  3. 对于 3 > 2 > 1:
    • 首先,它执行 3 > 2。确实如此。
    • 然后它确实是 > 1.

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

所以真正发生的是:

  1. true < 3 变成 1 < 3,这是真的。
  2. true > 1 变成 1 > 1,这是 false.

这就是为什么我们第一个为真而第二个为假。

疯了,对吧?

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

理论要掌握,实操不能落!以上关于《为什么它; LT;返回 true 但 gt; > > JavaScript 中返回 false?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>