当前位置: 代码迷 >> 综合 >> js中的变量提升
  详细解决方案

js中的变量提升

热度:57   发布时间:2024-02-07 14:09:22.0

原理

js是动态语言,即解释性语言,js代码是自上而下执行的,但是在js代码执行前,首先进行词法分析,

js执行分为两个阶段

  • 词法解析

  • 代码执行

词法解析

  • 分析参数
  • 分析变量的申明
  • 分析函数的申明

举例

var a = 10;
(function () {
console.log(a);
a = 5;
console.log(this.a);
console.log(a)
})

输出结果

undefinded;//变量提升申明 var a = undefined

10// this指向问题指向的是全局对象,window

5

  相关解决方案