JavaScript作用域及其作用域中的变量
一、定义
作用域指的是您有权访问的变量集合。
二、类型
在 JavaScript 中有两种作用域类型:
- 局部作用域
- 全局作用域
JavaScript 拥有函数作用域:每个函数创建一个新的作用域。
作用域决定了变量的可访问性,函数以外的变量可以被任意函数访问到。
函数内部定义的变量从函数外部是不可访问的(不可见的)。
三、作用域中的变量
变量也可以是对象和函数
-
在 JavaScript 函数中声明的变量,会成为函数的局部变量。
局部变量的作用域是局部的:只能在函数内部访问它们。因此在不同函数中使用同名变量。
-
函数之外声明的变量,会成为全局变量。
全局变量的作用域是全局的:网页的所有脚本和函数都能够访问它。
- 如果您为尚未声明的变量赋值,此变量会自动成为全局变量。但在严格模式下这会报错,及其不推荐。
- 在 HTML 中,全局作用域是 window。所有全局变量均属于 window 对象。
四、作用域中变量的生命周期
1、JavaScript 变量的有效期始于其被创建时。
2、局部变量会在函数完成时被删除。
3、全局变量会在您关闭页面是被删除。