jQuery each和for循環 對應return false執行結果


這兩天在做一個表單登錄頁面的驗證時,使用each遍歷input判斷其是否為空值,若是空值則彈出提示,並使用return fasle結束當前所調用函數。如圖:

 

 

 

但結果並不是預期那樣,它只是終止each循環,仍繼續執行each之后的語句,並未結束函數。此時找不出問題,就換了for循環,如圖:

 

 

 

達到了預期效果,在滿足條件之后使用return fasle,不僅終止了for循環,也結束當前函數。
尋找一番原因后,這是在網上查閱到的答案:

1、$.each實際上也是jquery的自定義函數, 在循環體內return false表示跳出each函數, return true表示跳出這一次循環, 繼續執行下一次循環. 所以要是想跳出整個函數, 只有用變量控制或者使用for循環。

2、jquery是對象鏈~所以$(..).each()返回的還是對象集合~each(function(){})~只是回調函數而已~所以在回調函數里不能返回結果到each外面~

最后,所以判斷return false是否會終止某個函數,需要看return false所處的位置。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM