前端面试题:JS中的let和var的区别

本文总结了JavaScript中let和var声明变量的主要区别,包括块级作用域、变量提升和暂时性死区的概念。let使得ES6支持块级作用域,避免了var导致的一些问题,如变量提升和在循环中的意外行为。同时,let还有暂时性死区的特性,确保变量在声明前不能被使用。在面试中理解这些差异对于前端开发者至关重要。
摘要由CSDN通过智能技术生成

参考:https://www.cnblogs.com/fly_dragon/p/8669057.html

最近很多前端的朋友去面试被问到let和var的区别,其实阮一峰老师的ES6中已经很详细介绍了let的用法和var的区别。我简单总结一下,以便各位以后面试中使用。

ES6 新增了let命令,用来声明局部变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效,而且有暂时性死区的约束。

var定义的声明可以提升到作用域的顶部。

  • 例子:没定义的var变量就抛出异常
console.log("ud = ",xx);

结果:抛出异常

$ node src/test.js
E:\study\js\four\src\test.js:1
console.log("ud = ",xx);
                    ^

ReferenceError: xx is not defined
    at Object.<anonymous> (E:\study\js\four\src\test.js:1:21)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值