我正在从实用主义者那里了解有关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()
这只是一个空白。任何时候遇到裸露的块,您都可以认为它等同于:
for (let i = 0; i < 1; i++) {
// block contents here
}
要么
if (true) {
// block contents here
}
没什么特别的,很少使用。它最重要的部分可能是如何const
以及let
在其中声明的变量仅作用于块,而不作用于外部函数。
它具有与Javascript中所有非功能块相同的行为-就像一个if
块,一个while
块或一个for
块一样,只是没有条件输入,并且只执行一次。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句