jquery中return,break,continue的用法總結

Sunny Girl發表於2017-11-30

  • break:  退出迴圈或者switch語句,在其他地方使用會導致錯誤!

for(var i=1;i<=10;i++) {
    if(i==5){
        break;
    }
    console.log(i);//輸出結果:1234
} 
console.log(1);//i==5,直接退出for迴圈,執行迴圈外面的之後的語句
複製程式碼

  • continue:  用在while語句、do/while語句、for語句、或者for/in語句的迴圈體內,在其它地方使用都會引起錯誤!

for(var i=1;i<=10;i++) {
    if(i==5) {
        continue;
    }
    console.log.(i);//輸出結果:1234678910
} 
//當i=5,跳出本次for迴圈,繼續執行下一次。
複製程式碼

  • return:  函式返回同時函式停止用在函式中,在其它地方使用都會造成語法錯誤!

//return 表示式;
//結束函式執行,返回撥用函式,而且把表示式的值作為函式的結果.
function a(){ 
    return 10;   
    document.write(50);//不執行 
};
a();//10

//return;
//結束函式執行,返回撥用函式,無函式結果.   
 function a(){
     var aa=0;
     return ;//返回值為undefined  
     var bb=0; //不會被執行的         
 }    
複製程式碼

//return false;
//呼叫"return false"的時候,它實際上做了3件事情:
//1.event.preventDefault();阻止瀏覽器執行預設行為
//2.event.stopPropagation();事件冒泡
//3.停止回撥函式執行並立即返回.

ps:只有當你同時需要preventDefault和stopPropagation,並且你的程式碼可以接受直到你的回撥執行
完成才停止執行瀏覽器的預設行為,那你就可以使用"return false"function a(){
     var aa=0;
     return false;//返回值為false  
     var bb=0; //不會被執行的         
 }    
複製程式碼

//retrun truefunction a(){
     var aa=0;
     return true;//返回值為true 
     var bb=0; //不會被執行的         
 }    
複製程式碼

ps1:自己的使用心得,不對請指正

//breakcontinue可以跳出指定迴圈,breakcontinue之後不加任何迴圈名則預設跳出其所在的迴圈,
//在其後加指定迴圈名,則可以跳出該指定迴圈(指定迴圈一般為迴圈巢狀的外迴圈)。
outer:for(var i=0;i<10;i++){
    inter:  for(var j=0;j<10;j++){   
        if(i>5){ 
            console.log(i); ----6    
            break outer;
        } 
    }  
}複製程式碼

ps2:自己的使用心得,不對請指正

jquery 的 each 方法中不能使用break結束迴圈,也不能使用continue來結束本次迴圈,想要實現類似的功
能就只能用returnreturn true 相當於是 continue,而 return false 相當於是 break。其實return
;在each也相當於continue,each只有return false;才能結束迴圈。

jquery 的 each 方法雖然return 了,但是並未實際 return 值作為方法的返回值,而是僅僅跳出each或
者進入下一次迴圈.

 $(".test-div").each(function () {
       var id = $(this).attr("id").toString();
       if(id=='2'){
          return true;
       }
       if(id == '10'){
          return false;
       }
  });
複製程式碼


相關文章