Javascript 为什么可以';try块中定义的变量不能用于catch和finally中吗?

Javascript 为什么可以';try块中定义的变量不能用于catch和finally中吗?,javascript,Javascript,程序运行异常。set变量无法在模块中正常运行。如何解决它?如果您使用var声明它,它可以const和let是块作用域(在本例中为try块),因此您不能在块之外访问它们 try { var a = 2; throw "oh no"; } catch { console.log(a) // 2 } finally { console.log(a) // 2 } 请去读。

程序运行异常。set变量无法在模块中正常运行。如何解决它?

如果您使用
var
声明它,它可以
const
let
是块作用域(在本例中为try块),因此您不能在块之外访问它们

try {
    var a = 2;
    throw "oh no";
} catch {
    console.log(a) // 2
} finally {
    console.log(a) // 2
}
请去读。