退出 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