<分区>
在 JavaScript 中,根据定义,一个 block 由一对大括号定义,但是括号也被视为 block 吗?
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
标签 javascript
<分区>
在 JavaScript 中,根据定义,一个 block 由一对大括号定义,但是括号也被视为 block 吗?
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
最佳答案
这就是 let
和 var
在 for
语句中的工作方式。
This expression may optionally declare new variables with
var
orlet
keywords. Variables declared withvar
are not local to the loop, i.e. they are in the same scope the for loop is in. Variables declared withlet
are local to the statement.
let k = 15;
for (let k = 0; k < 5; k++) {
console.log(`k is ${k}`);
}
// Here k is 15
console.log(`variable k which is declared above the loop ${k}`)
关于javascript - 括号是否被视为 JavaScript 中的 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58766790/
相关文章:
javascript - Fine Uploader 如何确定如何以及何时恢复到 Amazon S3 的分段上传?
javascript - 是否有一个 Regex 表达式来匹配每个不在引号中的内容
javascript - 向 WordPress 添加多步骤表单
javascript - 从所有signalr js文件生成一个js文件
php - 使用条件 CSS 解决错误的 JavaScript div 位置更改
javascript - Android 和 svg 中的平面图
javascript - three.js:从简单 Material 切换到多开运行时
Javascript错误 : javascript error: document unloaded while waiting for result