变量提升和函数提升的原因分享

来源:18-2 题目讲解-1:何为变量提升?

自胜者强123

2022-06-09

  1. JavaScript 解析器运行 JavaScript 代码的时候,会分为两个步骤,预解析和代码执行
  2. 预解析的时候,浏览器会默认把有 var 和 function 声明的变量和函数,进行提前声明,所以预解析就是导致 var 变量和 function 函数提升的原因

// num 被预解析提前声明,但是值为 undefined
console.log(`function outside1 num is ${num}`)
// output:unction outside1 num is undefined

// function 被预解析提前声明,但是此时 num 为undefined
fn()

var num = 10
console.log(`function outside2 num is ${num}`)
// output:function outside2 num is 10

function fn() {
    console.log(`function inside num is ${num}`)
    // output:function inside num is undefined
}

写回答

1回答

双越

2022-06-09

非常好。

把自己认为重要的东西写出来,加强记忆。

0
0

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4694 学习 · 1681 问题

查看课程