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

前端面试题 口语化复述解答(从2025.3.8 开始频繁更新中)

背景

看了很多面试题及其答案。但是过于标准化,一般不能直接用于回复面试官,这里我将总结一系列面试题,用于自我复习也乐于分享给大家,欢迎大家提供建议,我必不断完善之。

Javascript

ES6

1. var let const 的区别:

它们均是变量声明的关键字,其中let const是ES6新增关键字。引入这两个关键字的原因在于var没有块级作用域所导致变量滥用的问题。

  1. var自带变量提升,js编译的时候会将所有用var声明的变量语句提升到整个作用域首位,所以在原有声明前引用该变量不会报错。
  2. 而let const在变量声明前引用则会报错,原因即此二者无法变量提升导致存在暂时性死区,即从当前作用域的首部开始到变量声明前的上下文无法引用该变量
  3. var 滥用原因还有可以多次声明同一标识符,这是let const无法做到的。并且由于var 没有块级作用域,用var声明了一个标识符后 在其块级作用域后又重新声明一次则会导致原值被替换为新值。但是var是拥有函数作用域的,所以在函数中重新声明该标识符,在函数作用域外的值则不会被替换,但是如果没用var声明而只是赋值则会被替换。
  4. let 和 var的值是可以修改的,const 声明的变量对应的地址中的值是不能修改,但是如果当期变量是对象的话,其声明变量的地址中的值是一个指针,指向堆中的值,此时我们可以修改堆中的值(即const变量修改对象的属性是生效的)
  5. 根据最佳实践来说,尽量能用const就不用let,能用let就不用var

相关文章:

  • 动静态库链接生成和使用以及认识ELF文件
  • FPGA 实验报告:四位全加器与三八译码器仿真实现
  • 【NLP 31、文本匹配任务 —— 深度学习】
  • 跟着 Lua 5.1 官方参考文档学习 Lua (11)
  • 线性代数之矩阵特征值与特征向量的数值求解方法
  • 2022年《申论》第二题(河北A卷)
  • Java高频面试之集合-07
  • 剖析Manus:AI领域的创新先锋还是虚假泡沫?
  • 【leetcode hot 100 141】环形链表
  • 解锁AIGC新时代:通义万相2.1与蓝耘智算平台的完美结合引领AI内容生成革命
  • 掌握Linux基础:从Shell提示符到文件管理的全面指南
  • JavaWeb-Servlet6 入门
  • 低纹波高效率DCDC电源芯片ASP4644技术解析
  • 行为模式---责任链模式
  • window 11亲测NodeMCU-8266 开发板+Micropython点灯实验
  • Feign 核心规则与最佳实践:避免入坑指南
  • 正向代理与反向代理
  • Redis- 哨兵
  • Restful 接口设计规范
  • springcloud sentinel教程
  • 专门做头像的网站/社群营销案例
  • 公司网站建设有什么好处/全媒体运营师
  • 个人网站的制作教程/网络优化的流程
  • 做网站技术含量/自己创建个人免费网站
  • 云服务器怎么样做网站/优化大师官网登录入口
  • 济南外贸网站/今日山东新闻头条