js中return 、return false 、return true、break、continue區別


在開發中不熟悉這三者區別的同學,一般都知道return可以中止,但會根據字面意思覺得return true 中止當前函數執行,但其后的函數還會繼續執行。return false 中止當前函數執行,其后的函數不會執行,這是錯誤的想法。先看下面控制台的例子

一:可以看出三者都中止了函數執行,return后的語句不再執行,唯一區別是函數的返回值不同。

二:return只是中止當前函數,與其后的函數沒有關系,

可見return只是中止當前函數對其后函數沒有影響

三:對於函數中的for循環里的return,也會中止函數,多層循環也立即中止。

1、return 只在當前函數有效
2、return無論返回的是啥,都有中斷當前線程的作用。

總之,return都會阻止當前函數,並返回一個值

 鑒於上述,有的同學可能只是想跳出循環,並不想中止函數。

跳出循環:break,continue,只是跳出循環,並不中止函數

 

break只可用於跳出最近的for循環,

對於break跳出多層循環,需要給循環指定命名

continue同樣適用此法跳出多層循環

特別注意:break,continue語句只能用在while語句、do/while語句、for語句、for/in或者for/of語句的循環體內

番外:有些同學會用return來結束循環,但使用了for外的循環,例如each,foreach

 

對於上圖,return中止當前函數,即each的匿名函數,所以對外層函數沒有影響,故不能結束循環。


免責聲明!

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



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