news 2026/5/1 11:05:06

javaScript/js知识梳理与面试题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
javaScript/js知识梳理与面试题

一. 执行上下文

当 JS 引擎执行代码前,它会扫描所有的代码(并不是执行代码)

(1)第一次扫描:创建快照(预解析)

  1. 建立环境记录(类似分类):
  • 扫描所有function关键字,把整个函数体存进去(函数提升)。
  • 扫描所有var声明,给它们分配内存并初始化为undefined变量提升)。
  • 识别letconst,虽然也记录了它们,但标记为“不可访问”(暂时性死区)。

面试总结:所谓的暂时性死区 (TDZ) 和变量提升,其实在js引擎第一次扫描代码的时候就已经决定了。

变量类型分类时的动作 (Creation Phase)内存状态访问结果
var创建并初始化已经分配了内存,并填入了undefined作为默认值。可以访问(返回undefined)。
let/const仅创建(注册)内存地址已被预留,但引擎严禁对其进行任何形式的访问(甚至不给undefined)。报错(ReferenceError)。

2.确定作用域链(Scope Chain):拍下照片时,引擎会记下这个函数是在哪里定义的,确定它的“父级”是谁。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 5:04:05

STM32高级控制定时器的采样时钟分频是干嘛的

STM32高级控制定时器(如TIM1、TIM8)中采样时钟分频是高级定时器的核心特性之一。一句话概括:它是为高可靠性、高噪声环境下的电机和电源控制而设计的“抗干扰同步器”。一 核心概念:它分频的是什么?首先必须明确&#…

作者头像 李华
网站建设 2026/4/30 9:10:29

礼品卡功能

应用场景说到节日福利/礼品采购,是不是经常在选品、比价、下单、分发、售后中忙的焦头烂额? CRMEB 推出的【礼品卡】功能,系统后台可批量生成多种功能类型礼品卡, 支持卡号卡密在线兑换; 可印刷实体卡片类型发放&#…

作者头像 李华
网站建设 2026/5/1 5:05:14

计算机小程序毕设实战-基于springboot的医院门诊智能预约平台小程序设计与实现基于SpringBoot与微信小程序的乡镇医院挂号预约系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/5/1 9:56:48

数控直流稳压电源的设计与实现

数控直流稳压电源的设计与实现 一、设计背景与意义 在电子研发、工业生产、实验室测试等场景中,直流稳压电源是提供稳定供电的核心设备,其输出电压、电流的精度与稳定性直接影响电子设备的性能测试与运行可靠性。传统直流稳压电源多采用模拟控制方式&…

作者头像 李华
网站建设 2026/5/1 9:56:26

基于springboot 饮食健康管理系统(源码+数据库+文档)

饮食健康管理 目录 基于springboot vue饮食健康管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue饮食健康管理系统 一、前言 博主介绍&…

作者头像 李华
网站建设 2026/5/1 4:59:58

基于springboot药店管理系统(源码+数据库+文档)

药店管理 目录 基于springboot vue网上订餐系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue药店管理系统 一、前言 博主介绍:✌️大…

作者头像 李华