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