try里面放return,finally还会执行吗

try 里面放 return,finally 还会执行吗

1
2
3
4
5
6
7
8
9
10
11
12
// return 执行了但是没有立即返回,而是先执行了finally
function kaimo() {
try {
return 0;
} catch (err) {
console.log(err);
} finally {
console.log("a");
}
}

console.log(kaimo()); // a 0
1
2
3
4
5
6
7
8
9
10
11
12
// finally 中的 return 覆盖了 try 中的 return。
function kaimo() {
try {
return 0;
} catch (err) {
console.log(err);
} finally {
return 1;
}
}

console.log(kaimo()); // 1