這里是修真院前端小課堂,每篇分享文從
【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴展思考】【更多討論】【參考文獻】
八個方面深度解析前端知識/技能,本篇分享的是:
【return的用法是什么?若在for循環中,還會執行下一次循環嗎?】
一、背景介紹
什么是return?
return 語句的作用是從當前函數退出,並從那個函數返回一個值。

用 return 語句來終止一個函數的執行,並返回 expression 的值。如果 expression 被省略, 或在函數內沒有 return 語句被執行,則把值 undefined 賦給調用當前函數的表達式。
二、知識剖析
return作為返回關鍵字,它有以下兩種返回方式。
1、返回函數結果
語法為:return+表達式

語句結束函數執行,返回調用函數,而且把表達式的值作為函數的結果。
return 表示從被調函數返回到主調函數繼續執行,返回時可附帶一個返回值, 由return后面的參數指定。return通常是必要的,因為函數調用的時候計算結果通常是通過返回值帶出的。
2、返回函數控制
語法為:return;
通常情況下return后面跟有表達式,但是並不是絕對的。此情況就是單純的將控制權轉交給主調函數繼續執行。
在大多數情況下,為事件處理函數返回false,可以防止默認的事件行為。 例如,默認情況下點擊一個a元素,頁面會跳轉到該元素href屬性指定的頁,但我們可以用return flase來阻止它的跳轉。
在js中,我們常用return false來阻止提交表單或者繼續執行下面的代碼。 例如下面的例子:

即使a函數返回return false 阻止提交了,但是不影響 b()以及 c()函數的執行。在Test()函數里調用a()函數,那么 return false 對於Test()函數來說,只是相當於返回值,而不能阻止Test()函數執行。
三、常見問題
若return用在for循環中,還會執行下一次循環嗎?
四、解決方案
代碼示例:

我們可以看到,for循環只返回return所返回的值,並不會執行下一次循環。
五、編碼實戰
六、擴展思考
除了return之外,還有哪些語句可以跳出循環?
1、break

上面這個break實例,輸出的結果為:12345,當i的值等於5的時候直接通過break跳出了循環,不再繼續往下運行。
2、continue

上面這個continue實例,輸出的結果為:1234578910,當i的值等於6的時候直接跳過,繼續執行循環。
七、更多討論
討論點1:同樣是跳出循環,return和break有什么區別?
討論點2:同樣是中斷執行,return和return false有什么區別?
討論點3:在什么應用場景下我們會用到break或continue?
八、參考文獻
參考1:JavaScript中的return語句簡單介紹
參考2:javascript中break,continue和return語句用法小結
參考2: js中return的用法
【更多內容,可以加入IT交流群565734203與大家一起討論交流】
【這里是技能樹·IT修真院:http://www.jsnhu.com,初學者轉行到互聯網的聚集地】
