// return 执行了但是没有立即返回,而是先执行了finally
function kaimo(){
try{
return 0;
} catch(err) {
console.log(err)
} finally {
console.log("a")
}
}
console.log(kaimo()); // a 0
// finally 中的 return 覆盖了 try 中的 return。
function kaimo(){
try{
return 0;
} catch(err) {
console.log(err)
} finally {
return 1;
}
}
console.log(kaimo()); // 1
本文探讨了JavaScript中try...catch...finally语句的执行机制,特别是在finally块中的return语句如何覆盖try块中的return值。通过两个具体示例,展示了finally中return的特殊行为及其对函数返回值的影响。
847

被折叠的 条评论
为什么被折叠?



