括号在JavaScript中是否被视为块?

括号在JavaScript中是否被视为块?,javascript,Javascript,在JavaScript中,根据定义,块是由一对花括号定义的,但括号也被视为块吗 for (var i = 0; i < 5; i++) { //some code } console.log(i) // outputs 5; for (let j = 0; j < 5; j++) { //some code } console.log(j) // ReferenceError for(变量i=0;i

在JavaScript中,根据定义,块是由一对花括号定义的,但括号也被视为块吗

for (var i = 0; i < 5; i++) {
  //some code
}

console.log(i) // outputs 5;

for (let j = 0; j < 5; j++) {
  //some code
}

console.log(j) // ReferenceError
for(变量i=0;i<5;i++){
//一些代码
}
console.log(i)//输出5;
for(设j=0;j<5;j++){
//一些代码
}
console.log(j)//ReferenceError

这就是
let
var
for
语句中的工作方式

此表达式可以选择使用
var
let
关键词。用
var
声明的变量不是循环的本地变量,即。 它们与for循环在同一范围内。用声明的变量
是语句的局部

设k=15;
for(设k=0;k<5;k++){
log(`k是${k}`);
}
//这里k是15

log(`variable k,在循环${k}`上方声明)
for
循环的
for是一个特例。用
let
声明的变量被视为作用于循环体的范围,另一个相关位是。“此表达式可以选择使用
var
let
关键字声明新变量。用
var
声明的变量不是循环的局部变量,即它们与
for
循环在同一范围内。用let声明的变量是语句的局部变量。”-但是在发布的代码中,
let
{}
for
循环的
{}
主体之外。我认为OP知道这一点,他指出
let
实际上在
{}之外
,。但就像波蒂指出的那样,for是一个特例。@波蒂:哎呀,我已经编辑了我的答案。请参阅我更新的答案reply@Keith谢谢你的评论!我已经编辑了答案。请看我更新的答案。我也不是,但我知道w3schools在这里有一个坏名声。:),可能是一个mdn链接->与此相关的部分->
V用let声明的变量是语句的局部变量。