JavaScript 变量作用域 详解

Posted wsyjlly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 变量作用域 详解相关的知识,希望对你有一定的参考价值。

变量作用域要点

- 在javascript中没有块级作用域,只有函数作用域
- 在函数体内,局部变量的优先级高于同名的全局变量
- 在全局作用域编写代码时可以不写var语句,但声明局部变量时必须使用var语句
- 函数作用域是指在函数内声明的所有变量在函数体内始终是可见的,变量在声明之前已经可用JavaScript的这个特性被非正式的称为*声明提前*
- 函数内的变量声明提前至函数体顶部,同时变量初始化留在原来的位置
- 但声明一个JavaScript全局变量时,实际上是定义了全局对象的一个属性,
    - 当给一个未声明的变量赋值时JavaScript自动创建一个全局变量,以这种方式创建的变量是全局对象的正常的可配置属性
    - 当使用var声明一个变量时,创建的这个属性是不可配置的

以上是关于JavaScript 变量作用域 详解的主要内容,如果未能解决你的问题,请参考以下文章

javascript函数作用域及this指向详解

作用域是什么?

javascript 作用域详解

详解js闭包

js变量的作用域详解

让你拿10万年薪技能:JavaScript 变量作用域及内存详解!