js for循环的跳出条件是在头还是在尾

JavaScript09

js for循环的跳出条件是在头还是在尾,第1张

1. break结束循环推荐使用

2. return 直接跳出方法,如果仅仅只想结束循环不建议使用,因其副作用是,这个方法不再执行

3. 循环变量=最大值/最小值(看你循环是从高数字到低还是低到高,高到低设置成0,低到高设置成数组的length,该方法对for in语句无效)

//循环变量低到高

var arr=[1,2,3,4,5,6,7]

for(var i=0i<arr.lengthi++)

{

  if(arr[i]==4)

   {

     //break//方案1

     //return//方法后续代码不执行 方案2

     i=arr.length//方案3

   }

}

 

//循环变量从高到低

var arr=[1,2,3,4,5,6,7]

for(var i=arr.length-1i>-1i--)

{

  if(arr[i]==4)

   {

     //break//方案1

     //return//方法后续代码不执行 方案2

     i=-1//方案3

   }

}

 

//for in情况

//循环变量从高到低

var arr=[1,2,3,4,5,6,7]

for(var i in arr)

{

  if(arr[i]==4)

   {

     break//方案1

     //return//方法后续代码不执行 方案2

      //方案3 对此不起作用

   }

}

1、跳出循环用break语句就可以实现。打开hbuilder软件,创建一个点击按钮标签和用于显示循环内容的div标签:

2、在scrip标签里,创建点击触发循环的方法,循环里当循环到3的时候,用break语句跳出循环体,在button标签上添加点击myFunction()函数:

3、按下crtl+s保存后,使用浏览器打开,点击按钮可以发现按钮下方只打印出从0-2的内容,这就表示成功使用break跳出循环体了:

     我估计是你用的递归方法出的问题。假设你递归到了N层,在N+1层的时候找到了你要的结果。此时的循环只是跳出了N+1层的,没有跳出N层,而N层的循环可能还没有结束,会继续执行,更有可能还会继续递归。不知道我的猜想对不对,呵呵~!

      建议使用try/catch判断找到结果后抛出异常来终止函数的执行。我个人不喜欢使用递归方法。