Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我们在JavaScript循环中使用中断?_Javascript_Loops_For Loop_Break - Fatal编程技术网

为什么我们在JavaScript循环中使用中断?

为什么我们在JavaScript循环中使用中断?,javascript,loops,for-loop,break,Javascript,Loops,For Loop,Break,我知道“break”用于在满足特定条件之前停止循环,但我真的很困惑,当我们可以选择使标准更好时,为什么要使用break。例如,看看这段代码: var i = 0; for (i = 0; i <= 10; i++) { if (i == 3) { break; } document.write("The number is " + i); document.write("<br />"); } var i=0; 对于(i=0;i

我知道“break”用于在满足特定条件之前停止循环,但我真的很困惑,当我们可以选择使标准更好时,为什么要使用break。例如,看看这段代码:

var i = 0;
for (i = 0; i <= 10; i++) {
    if (i == 3) {
        break;
    }
    document.write("The number is " + i);
    document.write("<br />");
}
var i=0;

对于(i=0;i例如,当您在一个包含10项的数组中搜索某个对象时,您希望从0..9循环。但是,一旦找到结果,就没有进一步搜索的用处,因此您可以
中断
并跳出循环。

一个简单的示例是,您在数组中的对象之间循环,寻找一个满足特定条件。当您找到该对象时,不需要检查其余对象,因此使用
break

我非常确定这只是一段代码,向您展示
break
的工作原理。实际上,您不会编写类似的代码


但是,
break
也有它的优点。您可以随时退出循环(不仅当循环条件这么说时)

在您的示例中,这是一个糟糕的循环条件

但是,当处理其他对象时,它会变得非常复杂

var i = 0;
var myArrayOfObjects = ....
for (i = 0; i <= 10; i++) {
    if (myArrayOfObject[i].someProperty == 3) {
        break;
    }
    document.write("The number is " + i);
    document.write("<br />");
}
var i=0;
变量myArrayOfObjects=。。。。
对于(i=0;i
是的,您可以有一个更好的条件,但这意味着您将逻辑放在for循环语句中,而不是放在主体中。这可能会很快导致代码无法读取


break
continue
更具可读性

为了补充其他人所说的内容,有时只有在触发某个事件时才需要中断。类似于以下代码:

while(true)
{
//run application
if(event)

   break;


}
//end application
在许多应用程序中,尤其是在游戏中,这是有意义的


有时,您可能需要检查循环中间的一个条件,而不是在它的开头,所以使用断言不只是使代码更可读,它在某些情况下是必不可少的。

好点,好奇地看到一个良好的应用中断(并继续)。,因为到目前为止我看到的大部分内容似乎都会导致代码模糊和不可读。我不知道为什么在这种情况下使用break。在不使用常量的情况下使用break。如果你循环一个对象数组,并检查每个对象中的一个值为3,你不知道当i==3时会是什么情况,对吗?然而,在你的示例中,break的用法是stupid,是的。这让我更好地理解了。@Luis取决于什么是
someCondition
。取决于你对循环条件施加了多少逻辑和黑客攻击。取决于你对简洁性而非可读性的优化程度
for (var i = 0; !someCondition(arr[i]); i++);
var e = arr[i];
// use e
while(true)
{
//run application
if(event)

   break;


}
//end application