美文网首页
es6箭头函数

es6箭头函数

作者: 喜欢打王者农药 | 来源:发表于2018-07-26 19:10 被阅读0次

    es5:

    var sum = function (a,b){

            return a+b;

    }

    es6箭头函数:

    var sum = (a,b)=>a+b


    es5:

     var sum = function (a){

        return a;

    }

    es6:

    var sum = a=>a;


    es5 : 

    var objs = function (){

        return {name:"zhangsan",age:"12"}

    };

    es6

    var objs = ()=>({name:"zhangsan",age:"12"});


    回调函数的用处

    es5

    [1,2,3].map(function (x){

        return x*x;

    })

    es6

    [1,2,3].map(x=>x*x);


    函数中的this,是绑定时所在的作用域,而不是指向运行时所在的作用域

    function timer (){

    this.s1 = 0;

    this.s2 = 0;

       setInterval(()=>{

            this.s1++;

     },1000);

    }

    var n1 = new Timer();

    setTimeout(()=>{

        console.log(n1.s1+","+n1.s2);

    },3000);

    //这个时候我们会发现n1.s1发生了改变,因为this指向的是绑定时的作用域而不是运行时所在的作用域。

    function foo (){

    setTimeout(()=>{

        console.log("args:arguments);

    },1000)

    foo(1,2,3,4,5);

    //箭头函数内部变量arguments的问题,其实就是函数中的arguments的变量,

    另外由于箭头函数没有自己的this,所以不能使用call(),apply的方法。

    相关文章

      网友评论

          本文标题:es6箭头函数

          本文链接:https://www.haomeiwen.com/subject/hkfimftx.html