javascript - 括号是否被视为 JavaScript 中的 block ?

标签 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

最佳答案

这就是 letvarfor 语句中的工作方式。

As mdn says:

This expression may optionally declare new variables with var or let keywords. Variables declared with var are not local to the loop, i.e. they are in the same scope the for loop is in. Variables declared with let 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

javascript - 在 JSX 中映射第二个数组

javascript - 跨域网络 worker ?