在開發中不熟悉這三者區別的同學,一般都知道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的匿名函數,所以對外層函數沒有影響,故不能結束循環。