JavaScript 作用域、闭包与数组处理全解析
1. 作用域基础
在编程中,函数可以在任何作用域中被调用,并且可以显式地传递用户信息。当程序较为简单时,是否使用全局变量影响不大;但当程序变得很长,难以同时记住所有作用域时,避免依赖全局作用域就变得至关重要。
1.1 块级作用域
let 和 const 用于声明具有块级作用域的标识符。块是由花括号包围的一组语句,块级作用域意味着标识符仅在该块内有效。示例如下:
console.log('before block');
{
console.log('inside block');
const x = 3;
console.log(x); // logs 3
}
console.log(`outside block; x=${x}`); // ReferenceError: x is not defined
通常,块是控制流语句(如 if 或 for )的一部分,但独立的块也是有效的语法。在块内部, x 被定义,离开块后, x 超出作用域,被视为未定义。
1.2 变量遮蔽
不同作用域中使用相同名称的变量或常量容易引起混淆。当作用域依次出现时,情况相对简单:
{
/
超级会员免费看
订阅专栏 解锁全文
786

被折叠的 条评论
为什么被折叠?



