作用域指的是一个变量的作用范围
分为全局作用域和函数作用域
全局作用域:
直接编写在script标签里的js代码,都是全局作用域
在页面打开时创建,页面关闭时销毁
在全局作用域中,window是全局对象,代表是浏览器窗口,
window它由浏览器创建,我们可以直接使用
在全局作用域中,创建的变量都作为window对象的属性保存
创建的函数都会作为window对象的方法保存
全局作用域中的变量都是全局变量,在页面的任意位置都能访问
函数作用域:
调用函数时创建,函数执行完毕后销毁
每调用一次函数就会创建一个新的函数作用域,他们之间相互独立
在函数里声明的变量
只在当前函数里访问,在全局作用域中无法访问到函数作用域里的变量,交流是利用参数
当在函数作用域中使用一个变量时,如果有直接使用,如果没有,则向上一层函数作用域里找使用
到全局作用域都没找到,会报ReferenceError
能从里往外寻找使用,但不能从外往里寻找使用