结论: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