# 作用域概述
一段代码中所用到的名字不总是有效可用的,而限定这个名字的可用性代码范围就是这个名字的作用域,作用域的使用提高了程序逻辑的局部性,增强了程序可靠性,减少了名字冲突
# 变量作用域
# 全局变量
# 概念
在全局作用域下声明的变量叫做全局变量
# 特点
- 全局变量在代码的任何位置都可以使用
- 在全局作用域下 var 声明的变量是全局变量
- 特殊情况下,在函数体内不适用 var 声明的变量也是全局变量(不建议使用)
# 局部变量
# 概念
在局部作用域下声明的变量叫做局部变量
# 特点
- 局部变量只能在函数内部使用
- 在函数体内部 var 声明的局部变量
- 函数的形参实际上就是局部变量
# 预解析
# 代码执行步骤
- 预解析
- 代码执行
# 代码演示
console.log(num); // 输出 undefine | |
var num = 10; | |
// 上述代码执行过程 | |
var num; | |
console.log(num); | |
num = 10; |