退出 JavaScript 函式
本教程說明了如何提前退出 JavaScript 中的函式。
我們經常遇到想要提前退出某個功能的情況,例如滿足特定條件時。但是 JavaScript 不像其他程式語言(如 C++,PHP 等)那樣具有顯式功能。不同的方法可以幫助我們提前退出某個函式。
JavaScript 明確提供了三種主要方法來使函式從其自然流程中提前退出,即 return
,break
和 try and catch
。
在 JavaScript 中使用 return
來退出函式
當滿足特定條件時,我們可以使用 return
語句退出函式。我們可以通過單獨使用 return
語句或 return
函式中的值來退出函式。
function divide(a, b) {
if (b == 0) {
return 'invalid b';
} else
return a / b;
}
console.log(divide(5, 2));
console.log(divide(5, 0));
輸出:
2.5
invalid b
在此函式中,我們首先檢查 b
是否為 0
,以排除無效除法的情況,因為將數字除以 0
會返回 infinity
,所以我們提前退出函式,返回一個字串,宣告 b
的值是無效的。執行 a
和 b
除法的語句永遠不會執行。
在 JavaScript 中使用 break
來退出函式
break
通常用於從 for
迴圈中退出,但可以通過在函式中使用標籤將其用於退出函式。
const logIN = () => {
logIN: {console.log('I get logged in'); break logIN;
// nothing after this gets executed
console.log('I don\'t get logged in');}
};
logIN();
輸出:
I get logged in
在這裡,我們使用標籤 logIN
,然後使用 break
從標籤中退出,以提前退出函式。
在 JavaScript 中使用 try...catch
來退出函式
我們可以使用 try...catch
塊通過引發異常來提前退出函式。
function myFunc() {
var a = 100;
try {
if (typeof (a) != 'string') throw (a + ' is not a string');
} catch (e) {
alert('Error: ' + e);
}
a++;
return a;
}
myFunc();
輸出:
Error: 100 is not a string
我們丟擲異常以打破常規流程,而 catch
塊捕獲該異常,然後退出該函式,而所有其他語句均未執行。
所有主要的瀏覽器都支援這三種方式。
Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.
LinkedIn