ES6知识点总结(后续会持续更新~~~请关注啊)

ES6

一、块级绑定

var 存在三个问题

1.允许重复的变量声明;容易导致数据被覆盖

2.变量提升:怪异数据访问、闭包问题

3.全局变量挂载到全局对象:全局对象成员污染问题

let 块级作用域

块级作用域:代码执行的时候遇见花括号就是一个块级作用域

1.当前作用域下,不可重复再声明

2.没有变量提升(底层实现上,let声明的变量还是会有提升的,但是,提升后会将其放到“暂时性死区”,所以访问时会报错的。)

3.声明的对象不会挂载到全局对象(块级作用域嘛)

!!!注意:循环中使用let 的循环变量,会特殊处理,每次进入循环会开启一个新的作用域,比如i<10 则有10个作用域,10个值,并且在循环之后会将let生命的i销毁掉!!!

for(var i = 0; i<2; i++ ){
            console.log(i)
        }
        console.log(i)// 0 1 2
​
•       for(let j = 0; j<2; i++ ){
•           console.log(j)
•       }
•       console.log(j)//0 1 报错 销毁掉了
​
            let arr = [];
            for(let i=0; i<5;i++)
            {
                   arr[i] = function (){
                    console.log(i); 
                }
            }
            for(let i=0; i<arr.length;i++)
            {
            a[i]();
                
            }

const 块级作用域必须赋值

基本与let相同

(本质是变量指向的那个内存地址不改动)

1.常量必须在声明时赋值,且不可以重新赋值

!!!注意!!!如果说是复杂数据类型如数组,对象只要指针指向的地址不变即可,给对象新的属性也是可以的

2.当前作用域下,不可重复再声明

3.没有变量提升

4.声明的对象不会挂载到全局对象(块级作用域嘛)

!!!注意!!!普通for循环不可以用const

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值