基础知识:
什么是变量声明提前?
由var声明的变量(var a)都会提升到当前作用域的最前端
es5中作用域有什么特点?
- 函数中由var声明的变量(var a=10)为局部变量、没有声明的变量(a=10)为全局变量
- 函数内部声明的变量,在函数外部不能访问
- 函数外部声明的变量,在函数内部可以访问
注意:函数只有被调用才会执行
案例:
基础案例:发现执行这两个例子的结果都一样
// 第一个例子 var a; console.log(a) //undefined a = 123 console.log(a); //123 // 第二个例子 console.log(a) //undefined var a = 123 console.log(a); //123
案例1:var声明的变量-局部作用域