在 JavaScript 中, 对象和函数同样也是变量。
在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。
JavaScript 函数作用域: 作用域在函数内修改。
1.局部变量:在函数内部声明,同时只能在函数内部使用(局部变量作用于函数内部,因此不同函数中所声明的变量名可以相同,局部变量在函数执行时自动创建,完了自己销毁)
如果变量没有在函数内部声明(没有var),那就是全局变量
2.全部变量是window对象,所有数据变量都属于window对象
JavaScript 变量生命周期
One:JavaScript 变量生命周期在它声明时初始化。
Two:局部变量在函数执行完毕后销毁。
Three:全局变量在页面关闭后销毁。
个人觉得这样理解作用域及变量更简单点
局部变量:在函数中通过var声明的变量。
全局变量:在函数外通过var声明的变量。
没有声明就使用的变量,默为全局变量,不论这个变量在哪被使用
扩展一下:
在 ES6 中,提供了let关键字和const关键字。
let 的声明方式与 var 相同,用 let 来代替 var 来声明变量,就可以把变量限制在当前代码块中。
使用 const 声明的是常量,其值一旦被设定便不可被更改。