美文网首页
2017.08.18

2017.08.18

作者: zhezhang | 来源:发表于2017-08-18 23:51 被阅读0次

    问题

    JS中foreach语义中希望使用break打断循环失败。

    JS中Foreach为什么不能break?如何实现Foreach中的break语义?

    思路

    Q1:Foreach中使用break为什么会报错?

    A1:Foreach的语法是

    Array.Foreach(function,[thisObj]);

    它只是个Array的方法,不是真正的循环体,所以不能在Function的函数体内使用braak或者return来实现打破循环。


    Q2:JS中怎么使用break?

    A2:经过测试,老老实实写for循环体是可以使用break的,完全没问题,只是写起来很麻烦。


    Q3:有没有简单好写的语法在js中使用break?

    A3:可以使用for-in语句:

    for (var index in myArray) { // 不要真的这样写

    console.log(myArray[index]);

    }

    但是这样写有若干问题:比如index是字符串,而不是数值;另外,这个循环会以随即顺序遍历数组。

    Q4:更好的语法:for-of

    A4:这个语法和C++11支持的的for(auto i: Array)语法一样:

    for (var value of myArray) {

    console.log(value);

    }

    相关文章

      网友评论

          本文标题:2017.08.18

          本文链接:https://www.haomeiwen.com/subject/pfkzrxtx.html