您现在的位置:首页 >> 前端 >> 内容

es6箭头函数

时间:2017/9/13 10:33:00 点击:

  核心提示:1.单参数functioncheng(a=3){returna*a;}letcheng=(a=3)=a*a;console.log(cheng(9));2.多参数functionadd(a,b){re...

1.单参数

functioncheng(a=3){

returna*a;

}

letcheng=(a=3)=>a*a;

console.log(cheng(9));

2.多参数

functionadd(a,b){

returna+b;

}

letadd=(a,b)=>a+b;//默认返回值

console.log(add(3,9));

3.无返回值

functionadd(a,b){

console.log(a+b);

}

letadd=(a,b)=>{console.log(a+b)};

console.log(add(3,9));

4.多行

functionadd(a,b){

console.log(a+b);

returna+b;

}

letadd=(a,b)=>{

console.log(a+b);

returna+b;

};

console.log(add(3,9));

2.如果箭头表达式仅仅就是简化了函数的命名,我们为什么要改变原来的习惯而去使用它呢?

箭头函数内部没有constructor方法,也没有prototype,所以不支持new操作。但是它对this的处理与一般的普通函数不一样。箭头函数的this始终指向函数定义时的this,而非执行时。

varo={

x:1,

func:function(){console.log(this.x)},

test:function(){

setTimeout(function(){

alert(this);//this指针转为全局

this.func();

},1000);

}

};

o.test();//TypeError:this.funcisnotafunction

//----改为箭头函数

varo={

x:1,

func:function(){console.log(this.x)},

test:function(){

setTimeout(()=>{this.func()},100);

}

};

o.test();//这回this就指向o了

Tags:ES S6 6箭 箭头 
作者:网络 来源:easyClub_h