前端面试题之变量提升

简介: 前端面试题之变量提升

变量提升(hoisting),是负责解析执行代码的 JavaScript 引擎的工作方式产生的一个特性。


JS引擎在运行一份代码的时候,会按照下面的步骤进行工作:


  1. 首先,对代码进行预解析,并获取声明的所有变量


  1. 然后,将这些变量的声明语句统一放到代码的最前面


  1. 最后,开始一行一行运行代码


console.log(a) 
var a = 1 
function b() { 
  console.log(a) 
}
b()  // 1


变量的这一转换过程,就被称为变量的声明提升。


而这是不规范, 不合理的, 我们用的 let 就没有这个变量提升的问题


相关文章
|
1天前
|
前端开发 JavaScript 网络协议
前端最常见的JS面试题大全
【4月更文挑战第3天】前端最常见的JS面试题大全
54 5
|
1天前
|
设计模式 前端开发 算法
No210.精选前端面试题,享受每天的挑战和学习
No210.精选前端面试题,享受每天的挑战和学习
No210.精选前端面试题,享受每天的挑战和学习
|
1天前
|
消息中间件 缓存 前端开发
No209.精选前端面试题,享受每天的挑战和学习
No209.精选前端面试题,享受每天的挑战和学习
No209.精选前端面试题,享受每天的挑战和学习
|
1天前
|
前端开发 JavaScript Java
No208.精选前端面试题,享受每天的挑战和学习
No208.精选前端面试题,享受每天的挑战和学习
No208.精选前端面试题,享受每天的挑战和学习
|
1天前
|
存储 JSON 前端开发
No206.精选前端面试题,享受每天的挑战和学习
No206.精选前端面试题,享受每天的挑战和学习
No206.精选前端面试题,享受每天的挑战和学习
|
1天前
|
JavaScript 前端开发 开发者
【Web 前端】什么是JS变量提升?
【5月更文挑战第1天】【Web 前端】什么是JS变量提升?
【Web 前端】什么是JS变量提升?
|
1天前
|
存储 缓存 监控
2024年春招小红书前端实习面试题分享
春招已经拉开帷幕啦! 春招的拉开,意味着新一轮的求职大战已经打响,希望每位求职者都能充分准备,以最佳的状态迎接挑战,找到心仪的工作,开启职业生涯的新篇章。祝愿每位求职者都能收获满满,前程似锦!
84 3
|
1天前
|
前端开发 数据可视化 安全
2024金三银四必看前端面试题!简答版精品!
2024金三银四必看前端面试题!2w字精品!简答版 金三银四黄金期来了 想要跳槽的小伙伴快来看啊
101 3
|
1天前
|
存储 前端开发 JavaScript
前端面试:如何实现并发请求数量控制?
前端面试:如何实现并发请求数量控制?
101 0
|
1天前
|
前端开发 JavaScript 数据处理
No207.精选前端面试题,享受每天的挑战和学习
No207.精选前端面试题,享受每天的挑战和学习
No207.精选前端面试题,享受每天的挑战和学习