括号在JavaScript中是否被视为块?
在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
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声明的变量是语句的局部变量。