【发布时间】:2020-08-11 20:14:46
【问题描述】:
我正在阅读来自 pragmatists 的新 ES6 功能。但是在这里你可以看到他们在那个函数中使用了一个匿名块。 有人可以解释一下这是什么意思。它是任何javascript对象还是什么?我们如何使用它?还请提及一些参考。
function f() {
var x = 1
let y = 2
const z = 3
{
var x = 100
let y = 200
const z = 300
console.log('x in block scope is', x)
console.log('y in block scope is', y)
console.log('z in block scope is', z)
}
console.log('x outside of block scope is', x)
console.log('y outside of block scope is', y)
console.log('z outside of block scope is', z)
}
f()
【问题讨论】:
-
它只是一个块(语句),用于“let”的组织和范围。自 JS 诞生以来,该语法就一直存在,尽管自引入“let”以来最有用。 “var”的范围是总是函数的范围。搜索“javascript 变量提升”。
-
很明显,块用于范围变量。只需检查输出值,您就会明白。
标签: javascript ecmascript-6 block