当前位置: 首页 > news >正文

什么是变量提升?(形象的比喻)

当然!可以用几个生活中的比喻来形象地解释变量提升:


​1. 书架的占位符​
想象你有一个书架,但还没放书。
• 变量提升(var):

你先在书架上贴了一个标签(比如写“我的书”),但暂时没放书。别人看到标签会问:“这里有什么书?”你回答:“还没有书(undefined)。”
等你后来放了一本书(赋值),别人才能拿到。

 

javascript

复制

console.log(我的书); // 输出 "undefined"(标签存在,但没书)
var 我的书 = "JavaScript指南"; 

let/const的暂时性死区:

你同样贴了标签,但告诉别人:“这里还没准备好,别碰!”(报错)。直到你放书后,别人才能看。

 

javascript

复制

console.log(我的书); // 报错:"标签存在,但禁止访问!"
let 我的书 = "JavaScript指南";

​2. 建筑工地的水泥地基​
盖楼时,先打地基(声明变量),但还没建楼层(赋值)。
var

地基已经打好,但楼板还没铺。你踩上去会掉下去(得到undefined)。
let/const

地基打了,但围了警戒线(暂时性死区)。你提前踩进去会摔跤(报错)。

 

javascript

复制

console.log(楼层); // 掉下去(undefined)
var 楼层 = 3; console.log(楼层); // 摔跤(报错)
let 楼层 = 3;

​3. 行李箱的打包顺序​
你整理行李时:
var

先写了个行李标签(声明变量),但包里还没装东西。别人打开行李箱时看到标签,但里面是空的(undefined)。
let/const

标签贴了,但强行打开行李箱会锁住(报错)。必须等装好东西(赋值)才能查看。

 

javascript

复制

console.log(牙刷); // 空标签(undefined)
var 牙刷 = "软毛"; console.log(牙刷); // 锁住行李箱(报错)
let 牙刷 = "软毛";

​4. 函数声明像“现成的快递”​
函数声明会被整体提升,就像网购了一件商品,直接送到你家(可以直接用):

 

javascript

复制

快递(); // 收到包裹,直接拆开用
function 快递() { console.log("商品到了!"); 
}

而函数表达式(如箭头函数)像“需要组装的家具”:

 

javascript

复制

快递(); // 报错:“零件还没到!”
var 快递 = () => { console.log("商品到了!"); 
};

​总结比喻​
• 变量提升:像“占位符”或“未完成的快递”,声明存在但内容未就绪。

var:占位符允许你查看(得到undefined)。

let/const:占位符禁止查看(报错),直到赋值完成。

• 函数声明:像“现成的礼物”,直接可用。

通过这些比喻,是不是更容易理解变量提升的“时间差”和不同声明方式的区别? 😊

相关文章:

  • 代码随想录算法训练营第三十七天-2|动态规划part2
  • CSS:字体和文本样式
  • Docker 常用命令
  • Google AI版图:解析AI Studio, Gemini, NotebookLM与GCP
  • 【Rust错误处理】Rust错误处理机制详解与应用实战
  • Yolo迁移训练-带训练源码
  • pip下载tmp不够
  • Git 基础操作系列2: 本地项目上传至git仓库(gitee / gitlab / github)
  • ITTIA DB Lite 9.x——一款高性能嵌入式事务型、时间序列嵌入式数据库
  • threejs 添加css3d标签 vue3
  • 自然语言到 SQL 转换:开启智能数据库交互新时代
  • cursor平替,试试 vscode+cline+openrouter 的方案,还能自定义 mcp-server 教程大纲
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】电商数据分析案例-9.2 流量转化漏斗分析
  • 企业微信自建消息推送应用
  • 技术视界 | 青龙机器人训练地形详解(三):复杂地形精讲之台阶
  • 二本计算机,毕业=失业?
  • 初识Linux · TCP基本使用 · 回显服务器
  • CROSS 技术全解析:边缘计算如何成为行业价值新引擎
  • [计算机科学#11]:编程语言简史,从二进制到简约表达的华丽转身,造就原因——“懒”
  • 解析小米大模型MiMo:解锁语言模型推理潜力
  • 保证断电、碰撞等事故中车门系统能够开启!隐藏式门把手将迎来强制性国家标准
  • 国家主席习近平同普京总统共见记者
  • 专访|高圆圆:像鸟儿一样,柔弱也自由
  • 保利发展前4个月销售额约876亿元,单月斥资128亿元获4个项目
  • 新闻分析:电影关税能“让好莱坞再次伟大”?
  • 经济日报头版刊文:为什么贸易战没有出路