美文网首页
箭头函数-ES6

箭头函数-ES6

作者: cythia_yyy | 来源:发表于2017-10-24 17:20 被阅读0次

    箭头函数相当于匿名函数,简化了函数的定义

    基本语法:
    var func = x => x+1;
    // 等价于var func = function(x){ return x+1; }

    箭头函数的其他形式:
    a. 当函数无参数时,使用()括起来
    var func = () => 1 + 2;
    // 等价于var func = function(){ return 1+2; }

    b. 当参数只有一个时,()可以省略,如上面的基本语法

    c. 当参数有多个时,使用()括起来,且不可以省略
    var func = (a,b) => a + b;
    // 等价于var func = function(a,b){ return a+b; }

    d. 当函数体为多条语句时,使用{}括起来,且不可以省略
    var func = num => {if(num<0)return 0;else{return num;}}

    e. 当返回值为对象字面量时,使用()将对象括起来
    var func = season = > ({str:'summer',standard:'icecream'});

    箭头函数的特点:
    (1)this的指向问题:指向箭头函数的定义对象,而不是函数执行的上下文,这里区别于上一篇js闭包,可以改写如下

        var name = "The Window";
    
        var object = {
    
                 name : "My Object",
    
                 getNameFunc : function(){
    
                      var func = () => this.name;
    
                        return func();
    
                 }
    
        };
    
        alert(object.getNameFunc());   // 'My Object'
    

    (2)不能使用new实例化'func'对象

    (3)函数没有arguments对象,不能使用arguments访问传入参数

    相关文章

      网友评论

          本文标题:箭头函数-ES6

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