结论:return的总是最后一个执行的return
console.log(fun());
function fun() {
try {
console.log("try");
return "try-return";
} catch (error) {
console.log("catch");
return "catch-return";
} finally {
console.log("finally");
return "finally-return";
}
}
// 输出 finally-return
// try
// finally
// finally-return
console.log(fun());
function fun() {
try {
console.log("try");
return "try-return";
} catch (error) {
console.log("catch");
return "catch-return";
} finally {
console.log("finally");
// return "finally-return";
}
}
// 输出 try-return,因为catch的return没有执行
// try
// finally
// try-return
console.log(fun());
function fun() {
try {
bbb.aaa;
console.log("try");
return "try-return";
} catch (error) {
console.log("catch");
return "catch-return";
} finally {
console.log("finally");
// return "finally-return";
}
}
// console.log("try")被错误打断,输出 catch-return
// catch
// finally
// catch-return