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