gpt4 book ai didi

javascript - 如果 finally 总是被执行,为什么 try 返回未更改的值

转载 作者:行者123 更新时间:2023-11-30 07:37:17 27 4
gpt4 key购买 nike

我有以下代码:

function f() {
var a = 5;
try {
return a;
} finally {
a = 3;
}
}

console.log(f()); // returns 5 instead of 3, why?

最佳答案

执行return a;时读取a的值,然后执行finally block 。读取后更改 a 的值不会更改返回值。

如果您在 finally block 中写入 return 3 而不是 a = 3,那么您将看到返回值已更改。

关于javascript - 如果 finally 总是被执行,为什么 try 返回未更改的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29197539/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com