作用域(全局作用域和函数作用域)
全局作用域
1、直接写在< script >标签里的JS代码,就是在全局作用域
2、全局作用域在页面打开时创建,在页面关闭时销毁。
3、全局作用域有一个全局对象window
4、创建的变量作为window的属性保存,创建的函数作为window对象的方法
5、全局作用域的变量在页面任意位置都可以访问。
6、变量提升
函数作用域
- 调用函数时,创建函数作用域,函数执行完毕之后,函数作用域销毁。
- 每调用一次函数就会创建一个新的函数作用域,之间时相互独立的。
3.在函数作用域种,可以访问到全局作用域的变量,在全局作用域种无法访问函数作用域的变量。
4.当在函数作用域中操作一个变量时,它会现在自身作用域中寻找,如果有就直接使用,如果没有则向上一级作用域中寻找,直到找到全局作用域,
如果全局作用域中依然没有找到,则会报错ReferenceError
5.在函数作用域中也有声明提前的特性