箭头函数-ES6

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

基本语法:
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)