为什么我们在JavaScript循环中使用中断?
问题描述:
我知道“break”用于在满足某个特定条件之前停止一个循环,但我真的很困惑,为什么当我们有选择让我们的标准更好的时候使用break。例如看这一段代码:为什么我们在JavaScript循环中使用中断?
var i = 0;
for (i = 0; i <= 10; i++) {
if (i == 3) {
break;
}
document.write("The number is " + i);
document.write("<br />");
}
我知道它很清楚,这break命令将终止循环的变量达到3的值,但我的问题是,为什么我们使用断点,而不是使我们的像我< = 3。 有人可以用一些实际的例子说清楚吗?
答
例如,当您搜索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 />");
}
答
for (var i = 0; i < arr.length; i++) {
var e = arr[i];
if (someCondition(e)) {
break;
}
}
// use e
VS
for (var i = 0; !someCondition(arr[i]); i++);
var e = arr[i];
// use e
是的,你可以有更好的条件,但该装置循环语句在你把逻辑而不是身体。这可能会很快导致无法读取的代码。
break
和continue
是更具可读性
答
要添加什么其他人说,有时你需要在某个事件被触发到只有突破。与此类似的代码:
while(true)
{
//run application
if(event)
break;
}
//end application
在许多应用程序,尤其是游戏的上下文中是有意义的。
此外,有时你可能需要在循环的中间,而不是在它的开始检查的条件,因此,使用破不只是让代码更易读,它在某些情况下是必不可少的。
好点,好奇地看到一个很好的应用程序中断(并继续),导致我看到迄今为止的大部分似乎导致晦涩难懂的代码 – Luis
我不知道为什么你在这种情况下使用中断 – Tsar
你当你不使用常量时使用break。如果你循环一个对象数组,并检查每个对象中的一个值为3,那么你真的不知道它会在我== 3时,对吗?然而,在你的例子中,break的使用是愚蠢的,是的。 – Emil