ES6要掌握的基本知识1:let,const,var

ES6要掌握的基本知识1:let,const,var

1、let和const是es6的新特性。不存在变量提升、暂时性死亡、不允许重复声明、块级作用域
(一)不允许重复声明:
在这里插入图片描述
(二)块级作用域:

let a=12;
function add(){
let a=23;
console.log(a);//23
}
if(true){
a=10;
//let a=45;
let b=34;
console.log(a);//10
}
add();
console.log(a);//10

(三)const定义的变量不可以修改,且必须初始化。
例子1:
在这里插入图片描述
例子2:

 const person = {
     name : 'yuer',
     sex : '女'
 }
 
 person.name = 'test'
 
 console.log(person.name)//打印出的为test

但若改成以下代码则报错:

const person = {
   name : 'yuer',
   sex : '女'
}
 
person = {
   name : 'test',
   sex : '女'
}

2、var
var定义的变量可以修改,如果不初始化会输出undefined,不报错

3、小练习题:看代码猜运行结果,评论区给答案

(一)

for(let i=0;i<3;i++){
let i='abc';
console.log(i);
}
for(let i=0;i<3;i++){
i='abc';
console.log(i);
}

(二)

if(true){
tmp='abc';
console.log(tmp);
let tmp;
console.log(tmp);
tmp=123;
console.log(tmp);
}

(三)提示:函数的形参相当于局部变量

function func(arg){
let arg;
}
func()
function func(arg){
{
let arg;
}
}
func()

(四)

var t=new Date();
function f(){
console.log(t);
if(false){
var t='hi,myboy';//提示:这里的t会被变量提升。(提升可以理解为初始化)
}
}
f();
let t=new Date();
function f(){
console.log(t);
if(false){
let t='hi,myboy';//提示,let不会变量提升,这里的t暂时性死去
}
}
f();

这些都是在下面这个视频里可以看到的。个人觉得这个老师讲的很好懂,都是从很基础的讲起
https://www.bilibili.com/video/BV1dz4y1o7XS?p=30

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值