<分区>
(function() {
let val = 10;
console.log(val); // 10
})() // executed immediately
console.log(val); // val is not defined
对比
{
let val = 10;
console.log(val); //10
} // executed immediately
console.log(val) // val is not defined
这两个代码片段似乎具有相同的效果。这两种方法可以互换使用吗?我错过了什么吗?