JavaScript let关键字定义变量和var关键字定义变量的区别

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

一、let关键字和var关键字定义变量的区别是什么?

1.let声明的变量有严格的作用域

我们在这里先写一个代码块,在代码块内部分别用let关键字和var关键字定义变量,并在代码块外试图对代码块内的变量进行访问

代码如下(示例):

{
var name="jack";
let age=18;
}
console.log(name);
console.log(age);

显然我们在代码块外对var关键字定义的变量可以进行访问,而不能访问let关键字定义的变量,充分体现出了let声明的变量有严格的作用域

2.let 只能声明一次, var 可以声明多次

代码如下(示例):

var name="jack";
console.log("var关键字对第一个变量第一次声明",name);
var name="marry";
console.log("var关键字对第一个变量第二次声明",name);

显然var关键字声明的变量可以多次声明没有问题。

代码如下(示例):

let age=10;
console.log("let关键字对第二个变量第一次声明",age);
let age=18;
console.log("let关键字对第二个变量第二次声明",age);

对let声明的变量进行多次声明后报错,显然let声明的变量不能多次被声明。

3.let 不存在变量提升, var 存在变量提升

代码如下(示例):

console.log(name);
var name="jack";

虽然上面的console.log(name)没有能直接访问到name的值,但是也默认name是一个已初始化的变量,故var声明变量出现了变量提升的情况

代码如下(示例):

console.log(name);
let name="jack";

如果用let声明变量则会提示变量未初始化,let关键字声明的变量并不能进行变量声明的提升


总结

JavaScript中let关键字声明变量于var关键字声明变量的区别总结为以下三点:

1.let声明的变量有严格的作用域而var声明的没有。

2.let 只能声明一次, var 可以声明多次。

3.let 不存在变量提升, var 存在变量提升。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值