var let const声明变量的区别

本文详细介绍了JavaScript中var、let和const声明变量的区别。var无块级作用域,存在变量提升;let有块级作用域,无变量提升,存在暂时性死区;const声明常量,赋值后不可修改,同样有块级作用域。这些特性在ES6中引入,丰富了变量声明的方式,避免了传统JS的一些问题。

在js中定义变量的方式有三种,其中let和const关键字是来自ES6中的,下面将逐一介绍各个关键字声明变量的特点。

var声明变量

var 是一个 JS关键字,用来声明变量( variable 变量的意思 )。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员。

1.js可以允许变量不声明直接使用

在这里插入图片描述

2.js中使用var声明的变量没有块级作用域

Js中没有块级作用域(在ES6之前)。

if(true){
   
   
	var num = 123;
    console.log(123); //123
}
console.log(123); //123

由于js中没有块级作用域,所以在if内部定义的变量,在外部也可以直接调用进行访问。

let声明变量

ES6中新增用于声明变量的关键字let.

1.let声明的变有块级作用域

在es6之前,声明的变量是没有块级作用域的概念,但是在es6中用let声明的关键字有块级作用域。

• 块作用域指的是由 { } 包括。

• 在其他编程语言中(如 java、c#等),在 if 语句、循环语句中创建的变量,仅仅只能在本 if 语句、本循环语句中使用,如下面的Java代码:

java有块级作用域:

if(true){
   
   
 int num = 123;
 system.out.print<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值