
嘿,javascript 粉丝!您是否曾经遇到过这样的时刻:您的代码做了一些奇怪的事情,而您却摸不着头脑?好吧,今天我给你准备了一份好东西。
看看这个:
console.log(1 < 2 2 > 1); // false
等等,什么?第二个是假的?但是3大于2,2又大于1,对吗?那么这里发生了什么?
让我们来分解一下:
javascript 从左到右读取这些比较。对于 1 < 2 < 3:首先,它执行 1 < 2。确实如此。然后它确实是 2 > 1:首先,它执行 3 > 2。确实如此。然后它确实是 > 1.
现在,重点来了:当 javascript 将 true 与数字进行比较时,它会将 true 变成 1。
立即学习“Java免费学习笔记(深入)”;
百度文心百中
百度大模型语义搜索体验中心
22 查看详情
所以真正发生的是:
true < 3 变成 1 1 变成 1 > 1,这是 false.
这就是为什么我们第一个为真而第二个为假。
疯了,对吧?
那么,我们可以从中学到什么?当你进行多重比较时,最好是清楚的。您可以编写 (3 > 2) && (2 > 1),而不是 3 > 2 > 1。虽然有点长,但至少达到了你的预期。
以上就是为什么它; LT;返回 true 但 gt; > > JavaScript 中返回 false?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/461155.html
微信扫一扫
支付宝扫一扫