gpt4 book ai didi

try block 中的 JavaScript 作用域

转载 作者:行者123 更新时间:2023-12-03 00:12:53 24 4
gpt4 key购买 nike

假设我正在尝试执行此 JavaScript 代码片段。假设未声明的变量和方法在上面的其他地方声明,并且 somethingsomethingElse 计算结果为 boolean-true。

try {
if(something) {
var magicVar = -1;
}

if(somethingElse) {
magicFunction(magicVar);
}
} catch(e) {
doSomethingWithError(e);
}

我的问题是:magicVar 的范围是什么?是否可以像我一样将其传递到 magicFunction 中?

最佳答案

关于 Javascript 如何使用 var 处理这个问题,还有很多其他好的答案,但我想我应该解决 let 的情况...

如果在 try block 内使用 let 定义变量,则该变量不会在 catch (或 最后) block 。它需要在封闭 block 中定义。

例如,在以下代码块中,控制台输出将为“Outside”:

let xyz = "Outside";

try {
let xyz = "Inside";

throw new Error("Blah");
} catch (err) {
console.log(xyz);
}

关于try block 中的 JavaScript 作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10441717/

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