javascript 对于循环,特定条件无法正常工作[重复]

enyaitl3  于 2023-01-01  发布在  Java
关注(0)|答案(2)|浏览(124)
    • 此问题在此处已有答案**:

Why does (0 < 5 < 3) return true?(14个答案)
昨天关门了。
谁能告诉我为什么这个循环产生了一个几乎无限大的负数,尽管我指定它不应该超过-10?

for (var person = 2; -10 < person < 10; person --) {
    console.log(person);
}

我以为它会从2数到-10

r6l8ljro

r6l8ljro1#

如果要检查某个数字是否介于两个数字之间,应执行以下操作

for (var person = 2; -10 < person && person < 10; person --) {
    console.log(person);
}

当你链接-10<person<10时,它被解释为((-10<person)<10),第一个为真,直到它小于或等于-10,所以首先是第一部分,直到它person变为-10,就像(true<10),true是1.so,它返回true。对于第二部分,当person变为小于或等于-10 (-10<person)返回false,false为0,并且肯定小于10 --〉(false<10),所以它永远为真,无限循环.

yrdbyhpb

yrdbyhpb2#

将您当前的代码更改为-

for (var person = 2; person >= -10; person --) {
  console.log(person);
}

相关问题