[英]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.