如果条件是使数字大于或等于条件中的数字,为什么 for 循环不起作用?

时间:2021-08-01 16:39:15

标签: javascript

我一直在试验 for 循环,主要是条件“小于或等于”。但是,我想创建 for 循环的条件,以便初始化中的数字大于条件中的数字。当我运行代码时,它不起作用。当我添加大于或等于运算符时,它崩溃了;这是代码:

//loop n1
for (let i = 0; i > 4; i++) {
    console.log(i);
}

//loop n2
for (let i = 0; i >= 4; i++) {
    console.log(i);

//loop n3
for (let i = 0; i = 4; i++) {
    console.log(i);

这些都没有用,最后一个崩溃了。我不明白;根据我的逻辑,当“i”等于 4 时,循环 n3 应该停止,但不,它崩溃了。当“i”大于 4 时,循环 n1 应该停止。

谁能给我解释一下?

谢谢

2 个答案:

答案 0 :(得分:0)

您遇到的问题是条件需要解析为“true”才能继续循环。让我们来看看你的例子...

对于第一个,您从 i 等于零 (0) 开始,然后测试 i 是否大于四(4)。好吧,零 (0) 小于四 (4)。立即失败,循环不执行。

对于第二个,再次以 i 等于零 (0) 开始,并且 i 大于或等于四 (4) 仍然失败。

在您的第三个示例中,它仍然与前两个示例几乎相同,因为零 (0) 不等于四 (4)。

要成功执行 for 循环,条件语句必须至少为迭代器的第一个值返回“true”(在本例中为变量 < strong>i) 设置为。如果您想尝试一个有效的循环,对于前两个示例,您可以将“大于”(> />>=) 更改为“小于”(< em>) 然后它就会运行。或者,如果您将 i 的值更改为四 (4) 或大于四,并将递增语句从“i++”更改为到“i--”,这也将允许它运行。对于您的最后一个示例,这样的事情最好作为 if 语句而不是 for 循环来完成。

答案 1 :(得分:0)

for will run while condition is true

// will exit right away, i is smaller then 4
for (let i = 0; i > 4; i++) {
    console.log(i);
}

// will exit right away, i is smaller then 4
for (let i = 0; i >= 4; i++) {
    console.log(i);
}

// will exit right away, i is smaller then 4
for (let i = 0; i === 4; i++) {
    console.log(i);
}