ES6语法

1、let命令

 1)不允许在相同作用域内重复声明同一个变量。

let a = 100;
let a = 200; //报错
console.log(a)

2)变量使用时遵循“先定义,后使用”原则,不存在变量提升;用var声明可以在变量声明前使用,值为undefined,不报错,let会报错。

console.log(b)   //报错
let b = 300

3)增加块作用域,let声明的变量只在let命令所在的代码块内有效

{
    let c = 400;
    console.log(c);
}

console.log(c) //报错

4)在ES6规范中,如果区块存在let命令,这个区块对let命令声明的变量,从该区开始就形成封闭作用域,凡是在声明之前使用这些变量就会报错,这称为“暂时性死区”

var d = 500
if(true){
    d = 600;  //报错
    let d;
}

2、const命令

一旦声明值就不能改变,使用特性与let一样。

3、rest参数

1)形式:...变量名

2)只能出现在定义变量的最后,不能出现在其他位置

4、箭头函数

1)省略了关键字function,形式:(参数1,参数2,...,参数n)=>{函数体}

2)注意:

        1、函数体内的this对象就是定义时所在的对象,而不是使用时所在的对象

document.onclick = function(){
    setTimeout(function(){
        console.log(this)
    },1000)
}

输出:window

document.onclick = function(){
    setTimeout(()=>{
        console.log(this)
    },1000)
}
输出:document

//箭头函数没有this对象,要去他的父级找,所以是document

        2、不可以使用new命令

        3、函数体内不存在arguments对象,不能调用

        4、在对象的方法中不建议使用箭头函数

5、promise

 1)用于异步操作,promise可以把层层嵌套的回调地狱拉成一个从上往下的执行队列。

var p = new Promise(function(resolve,reject){
    //这里使用延时定时器模拟一个异步处理任务
    setTimeout(function(){
        var flag = false;
        if(flag){
    //异步操作成功
            resolve("success")
        }
        else{
        //异步操作失败
            reject("failed")
        }
    },100);
);
p.then(function(res){
    console.log(res);
},function(res){
    console.log(res);
}

//输出:failed

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值