JS基础 - 作用域和闭包1.作用域作用域:一个变量的合法使用范围全局作用域直接编写在script标签之中或者是一个单独的js文件中的js代码,都是全局作用域。全局作用域在页面打开时创建,页面关闭时销毁;在全局作用域中有一个全局对象window (代表的是一个浏览器的窗口,有浏览器创建),可以直接使用。所有创建的变量都会作为window对象的属性保存。所有创建的函数都会作为window 对象的方法保存。//在任何地方都可以访问到的变量就是全局变量,对应全局作用域 console.log(this) window函数作用域 (局部作用域)在函数内部就是局部作用域,这个代码的名字只在函数的内部起作用调用函数是创建函数作用域,函数执行完毕之后,函数作用域就销毁;每调用一次函数就会创建一个新的函数作用域,他们之间是相互独立的。块级作用域(ES6 新增)//ES6 块级作用域 if (true) { let x = 100 } console.log(x) // Uncaught ReferenceError: x is not defined //只要使用 let 或者 const
Gonwe
一念智即般若生。
CC BY-SA 4.0