var、let、const

发布时间:2026/10/12 15:16:28

var、let、const 注给自己写的复习和面试的笔记简要记录可能不完善复习够用一、var的核心特性1、作用域函数作用域或全局作用域痛点缺乏块级作用域if块内的变量会泄露到外部for循环中的变量会泄露到外部2、变量提升声明被提升初始化为undefined痛点声明前访问不报错值为undefined违反代码直觉易导致bug3、重复声明允许4\可变性可以重新赋值function varExample(){ console.log(a); //变量提升 值为undefined var a 10; console.log(a);//赋值后值为10 if(true){ var a 20;//覆盖了外层的a console.log(a);//值为20 } console.log(a);//值被if块修改输出20 }二、letES6的变量声明可以理解为升级版的var1、作用域块级作用域2、暂时性死区TDZ声明前无法访问3、重复声明同一作用域内不允许4、可变性可以重新赋值function letExample(){ console.log(a);//报错变量声明前访问暂时性死区TDZ let a 10 ; console.log(a);//输出 10 if (true){ let a 20 ;//此时的a为if块中的新变量 console.log(a);//输出 20 } console.log(a);//输出 10 不受if块的影响 }三、const声明即永恒1、作用域块级作用域2、暂时性死区TDZ声明前无法访问3、可变性不能重新赋值4、核心保证变量引用的不变性const obj {name: Meng}; //修改对象内的属性 obj.name Xia console.log(obj.name);//输出 Xia //将obj指向一个新对象 不允许 obj {}//TypeError四、关键点一暂时性死区TDZ适用于let和const区域从作用域{开始到变量声明let/const 结束行为在此区域内访问变量抛出ReferenceError关键点二全局对象var在全局作用域声明会成为window的属性let/const不会成为window的属性关键点三、开发最佳实践1、优先使用const增强代码可预测性避免意外修改2、当变量需要重新赋值时使用let循环计数器、状态切换3、尽量不用var五、面试回答1、作用域var函数作用域let/const块级作用域解决var在if/for中的变量泄露问题2、提升与TDZvar变量提升声明前可访问值为undefinedlet/const存在暂时性死区声明前访问抛出ReferenceError3、赋值与声明var可重复声明可重新赋值let不可重复声明可重新赋值const不可重复声明不可重新赋值const保证引用类型的不变性内部属性可变
延伸阅读

更多相关文章

2026/10/13 6:18:20

中教睿海是正规机构吗?军队文职培训资质与官方背书全解析

近年来,军队文职考试持续升温,越来越多的考生将目光投向这一稳定且有发展前景的职业方向。然而,伴随报考热度攀升的,是培训市场的鱼龙混杂。教育部等部委于2025年专门发布《关于开展军队文职人员考试培训专项整治的通告》&#xf…

2026/10/12 17:52:53

FModel技术解析:虚幻引擎资源归档分析架构实现路径

FModel技术解析:虚幻引擎资源归档分析架构实现路径 【免费下载链接】FModel Unreal Engine Archives Explorer 项目地址: https://gitcode.com/gh_mirrors/fm/FModel FModel作为一款基于CUE4Parse核心解析库的虚幻引擎归档浏览器,采用模块化设计理…

2026/10/12 22:28:59

沐曦股份曦云C系列GPU率先实现腾讯混元混合专家模型 Hy3 Day 0适配

7月6日,腾讯混元研发的快慢思考融合的混合专家模型 Hy3 正式发布并开源,沐曦股份曦云 C 系列 GPU 率先完成Day 0 全链路适配。依托沐曦股份全栈自研 MXMACA 软件栈,企业可实现零代码快速部署,一站式解锁 Hy3 代码、智能体、超长文…

2026/10/13 6:15:01

Spring Boot+Vue智能物流系统开发实践

1. 项目概述作为一名长期从事Java全栈开发的工程师,最近完成了一个基于Spring Boot的智能物流管理系统。这个系统是我为某高校计算机专业毕业设计指导的项目,同时也具备实际商业应用价值。在物流行业数字化转型的背景下,传统物流管理方式存在…

2026/10/13 6:15:01

图吧工具箱:硬件检测与性能评估的集成解决方案

1. 图吧工具箱:硬件爱好者的瑞士军刀作为一名长期折腾硬件的玩家,我深知在电脑维护和性能评估过程中最头疼的就是工具分散——CPU检测用一个软件、显卡测试又要另外下载、硬盘健康度还得再找工具。直到遇到图吧工具箱,这个由国内知名硬件社区…

2026/10/13 6:15:01

Abis信令分析实战:从GSM基站抓包到故障定位

简介:本资源是面向通信工程专业学生、网络运维工程师及GSM协议研究者的ABIS接口深度学习资料包,聚焦基站与BSC间信令交互原理与实践分析,助力理解GSM核心网架构、信令流程建模及常见故障定位。压缩包共99个文件,涵盖25份PDF协议规…

2026/10/13 6:10:01

信息极简场景下的项目拆解方法论:从三字母到可执行方案

1. 当标题只剩三个字母时,我在想什么拿到“rea”这个标题的时候,我盯着屏幕愣了大概十秒钟。没有项目正文,没有关键词,没有摘要描述,连热搜词和网络热词都是空的。这大概是做内容拆解最极端的一种情况——你手里只有一…

2026/10/13 5:19:27

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/12 12:01:26

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/12 12:54:07

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/13 0:04:41

基于Triton部署YOLO目标检测:从训练脚本到线上服务

简介:这份资源面向希望将目标检测模型落地到生产环境的深度学习开发者与算法工程师,聚焦于用 Triton Inference Server 部署 YOLOv9 的完整实战方案,解决从训练权重到线上推理服务之间的工程化难题。压缩包共 16 个文件,约 886KB&…

2026/10/13 0:04:41

手把手教你云端部署Qwen-Image-2.1:从GPU选型到在线文生图服务

Qwen-Image-2.1 这个开源的图像生成模型,最近在内容创作和 AI 应用圈子里热度相当高。它属于通义 Qwen 系列里的视觉生成分支,让我眼前一亮的是它对中文长文本的理解能力——以前用那些老方案生成带中文文字的图,十个里九个是“乱码印刷体”&…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑