try / catch块中的return语句如何工作?
function example() {
try {
return true;
}
finally {
return false;
}
}
我期望此函数的输出为
true
,但实际上为false
! 最佳答案
最后总是执行。这就是它的用途,这意味着您的情况将使用返回值。
您将需要更改代码,因此更像这样:
function example() {
var returnState = false; // initialisation value is really up to the design
try {
returnState = true;
}
catch {
returnState = false;
}
finally {
return returnState;
}
}
一般来说,您永远都不想在一个函数中有多个return语句,这就是为什么。