簡體   English   中英

try catch 有塊級作用域嗎?

[英]Does try catch have block level scope?

如果我在 catch 塊中創建一個變量,這是塊級作用域嗎?

它似乎在全局范圍內創建它。

我認為它是塊級的,因為轉譯器不會將 let 語句轉換為 try/catch 嗎?

try {
    throw Error("test");
} catch (e) {
    var x = 15;
    console.log(x);
}

console.log(x);

如果我在 catch 塊中創建一個變量,這是塊級作用域嗎?

如果您創建一個塊作用域變量( 使用let ),它就是。

它似乎在全局范圍內創建它。

您正在使用var ,它始終在當前函數的范圍內創建變量(如果您不在函數中,則為全局變量)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM