(轉)js中for跳出循環(包括多層循環)return和break的區別

單層循環

1.for循環中return語句:會直接跳出循環,

因爲js中for是沒有局部作用域的概念的,所以只有把for循環放在函數中時,纔可以在for循環中使用return語句。

 2.for循環中的break語句:和return一樣會直接跳出循環

與return不同的是,使用break時,for循環可以不用一定放在函數中 ;

 多層循環:

1.return:和單層循環一樣必須放在函數中,否則將會報語法錯誤

               使用return會直接跳出函數

   var a=[1,2,3];
   var b=[4,5,6,7,8];
   function test(){
        for(var i=0;i<a.length;i++){
            for(var j=0;j<b.length;j++){
                if(b[j]==5){
                    // break
                    return;
                }else{
                    console.log(13);
                }
            }
            
            console.log(12);
        }
        console.log(14);
    }
    test();//打印結果爲:13


 使用return後,當b[j]=5的時候,會直接跳出函數,for循環後面的語句也不再執行;

2.break語句:和單層循環一樣,可以可以不用放在函數中

但是在多層循環中與return不同的是,break不是跳出函數,而是跳出最裏層的for循環,外面的循環和最外層for循環後面的語句也將繼續執行

 var a=[1,2,3];
 var b=[4,5,6,7,8];
 function test(){
        for(var i=0;i<a.length;i++){
            for(var j=0;j<b.length;j++){
                if(b[j]==5){
                    break ;
                    // return;
                }else{
                    console.log(13);
                }
            }
            
            console.log(12);
        }
        console.log(14);
    }
    test();//打印結果爲13 12 13 12 13 12 14


轉載:https://blog.csdn.net/weixin_38098192/article/details/84345494

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章