JavaScript作用域
JavaScript 作用域
在 JavaScript 中, 对象和函数同样也是变量。
在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。
JavaScript 函数作用域: 作用域在函数内修改。
-作用域指一个变量的作用的范围
-在JS中一共分为两种作用域:
1.全局作用域
-直接编写在script标签中的js代码,都在全局作用域
-全局作用域在页面打开时创建,在页面关闭时销毁
-在全局作用域中有一个全局对象window,
它代表的是一个浏览器的窗口,它由浏览器创建我们可以直接使用
-在全局作用域中:
创建的变量都会作为window对象的属性保存
创建函数都会作为window对象的方法保存
-全局作用域中的变量都是全局变量,
在页面的任意的部分都可以访问到
2.函数作用域
-调用函数时创建函数作用域,函数执行完毕后,函数作用域销毁
-每调用一次函数就会创建一个新的函数作用域,他们之前是互相独立的
-在函数作用域中可以访问到全局作用域的变量
在全局作用域中无法访问到函数作用域的变量
-当在函数作用域中操作一个变量时,它会现在自身作用域中寻找,如果有就直接使用
如果没有就在上一级作用域中寻找,直到找到全局作用域
如果全局作用域中都没有找到,就会报错ReferenceError
-在函数中要访问全局的变量可以调用window.变量名