Javascript中var和let的区别。

本文深入探讨了JavaScript中var和let关键字的区别,包括变量的声明、提升、临时死区以及作用域概念。在非严格模式下,var变量会绑定到全局window对象,而let则不会。var允许重复声明,let则会产生错误。此外,var具有函数或全局作用域,let则引入了块级作用域。理解这些差异对于编写高效且无bug的JavaScript代码至关重要。
摘要由CSDN通过智能技术生成

1. var定义的变量可以被重复声明,let不能。

// var定义变量
var v = 1;
var v = 100;
console.log(v); //100
// let 定义的变量
let m = 200;
let m = 600;
consloe.log(m); //Uncaught SyntaxError: Identifier 'm' has already been declared

2. 在非严格模式下的全局作用域。
在这里插入图片描述
在这里插入图片描述
解释:在非严格模式下,通过var定义的变量会在全局作用域下绑定到window对象上,通过let定义的变量则不会。

3. 变量的提升和暂时性死区。
在这里插入图片描述在这里插入图片描述

解释:var和let定义的变量都会存在变量的提升,let定义变量的时候会存在一个暂时性死区,因为let未执行完所有语句之前,所有未定义的变量都是不可用的。

4. 作用域概念。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
解释:var定义的变量只有函数作用域和全局作用域的概念,let会多出一个块级作用域。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值