1. 作用域
1.1 作用域概述
代码名字(变量)在某个范围内起作用和效果,目的是为了提高程序的可靠性且减少命名冲突。
js的作用域(es6)之前:全局作用域,局部作用域。
- 全局作用域:整个script标签,或者是一个单独的js文件
- 局部作用域(函数作用域):在函数内部就是局部作用域,即,这个代码的名字只在函数内部起效果和作用
2. 变量的作用域
根据作用域的不同,变量分为全局变量和局部变量。
- 全局变量:在全局作用域下的变量,在全局下都可以使用
注意:如果在函数内部,没有声明,直接赋值的变量,也是全局变量(不建议使用!) - 局部变量:在局部作用域下的变量,在函数内部的变量就是局部变量
注意:函数的形参也可以看做的局部变量
从执行效率来看,
(1)全局变量只有浏览器关闭的时候才会销毁,比较占内存资源
(2)局部变量,当程序执行完毕就会销毁,比较节约内存资源