变量提升


js声明声明变量有 var let const三种方式


提示:以下是本篇文章正文内容,下面案例可供参考

一、var

通过var声明变量,会将变量提升到作用域最顶部,赋值留在本地。如果在赋值之前使用变量的值为空。如下

 console.log(x);
 var x=0;

效果
在这里插入图片描述

二.let

let es6新增语法 一个{}就是一个块级作用域,同一个作用域中只能存在一个let声明的变量。如果重复声明则会报错,

{
	 let c=0;
	 let c=1;
 }

效果
在这里插入图片描述
let声明的变量,会绑定该区域,不会受到外界的影响,let没有变量提升的概念

 let c=10
 {
	 console.log(c)
	 let c=0;
 }

像这样就会报错的

在这里插入图片描述
let没有变量提升,在let 声明前使用变量,该变量是未定义的

三.const

const 语法一部分和let相同,不同的是,const声明的是常量,声明之后,不可再改变,否则报错。

 const a=11;
 // a=12;
 let c=30;
 c=20;
 console.log(c);
 console.log(a);

在这里插入图片描述
错误的

 // }
 const a=11;
 a=12;
 let c=30;
 c=20;
 console.log(c);
 console.log(a);

效果
在这里插入图片描述

四.如果不声明是没有作用域的

没有作用域,也没有变量提升,在赋值之后可以使用,在赋值之前是未被定义的
这样是不会报错的

 a=10;
 console.log(a);

效果
在这里插入图片描述
以上就是全部内容。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值