ES6与ES5部分对比

一、常量

    // 常量ES5写法
    // 为对象增加属性
    Object.defineProperty(window,"PI",{
        value: 3.1415926,
        wirtable: false,    
    })
     // ES6常量写法
    const PI = 3.1415926;

二、作用域

    // 作用域ES5
    var callbacks = [];
    // 变量提升
    for(var i = 0; i<= 2; i++ ){
        clallbacks[i] = function () {
            // 对变量的引用
            rerurn i*2;
        }
    }
    console.table([
        callbacks[0](),    //6
        callbacks[1](),    //6
        callbacks[2](),    //6
    ])
   
    //作用域ES6
    var callbacks1 = [];
    // 变量提升
    // 每次循环返回新的作用域
    for(let j = 0; j<= 2; j++ ){
        clallbacks1[j] = function () {
            rerurn j*2;
        }
    }
    console.table([
        callbacks1[0](),    //6
        callbacks1[1](),    //6
        callbacks1[2](),    //6
    ])
    // ES5中作用域隔开会使用立即执行函数
    ((function () {

    })())
    // ES6中作用域
    { }

三、箭头函数

    // ES5中函数
    function a() {
        
    }
    // ES6箭头函数
    ()=>{
        
    }
    
     // ES5
    {
        var evens = [1,2,3,4,5];
        var odds = evens.map(function (value) { return value+1 })
    }
    // ES6
    let evens = [1,2,3,4,5];
    let odds = evens.map(v => v+1);
  • 写法简单

this绑定

   // ES5
    var factory = function () {
        this.a = 'a';
        this.b = 'b';
        this.c = {
            a: 'a+1',
            b: function () {
                  // 谁调用它
                return this.a  
            }
        }
        console.log(new factory().c.b());   //a+1
    }
    // ES6
    var factory = function () {
        this.a = 'a';
        this.b = 'b';
        this.c = {
            a: 'a+1',
            b: () => {    //定义时的对象
                return this.a
            }
        }
        console.log(new factory().c.b());   //a
    }

四、默认参数

    //ES5 默认参数
    function f(x,y,z) {
        if(y===undefined){
            y=7;
        } if(z===undefined){
            z=8;
        }
    }
    // ES6默认参数
    function f(x,y =7,z=8) {
        return x+y+z;
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值