ES6函数
箭头函数
我们可以把箭头函数理解成匿名函数的第二种写法
箭头函数的作用是可以在对象中绑定this
解决了JavaScript当中this指定混乱的问题
定义函数的一般方式
function fnAdd(a,b){
var result=a+b;
alert(result)
}
fnAdd(1,2);
通过匿名函数赋值来定义函数
var fnAdd=function(a,b){
var result=a+b;
alert(result)
}
fnAdd(1,2);
通过箭头函数的写法定义
var fnAdd=(a,b)=>{
var result=a+b;
alert(result);
}
fnAdd(1,2);
如果只有1个参数,可以省略括号
var fn = a =>{
alert(a);
}
如果只有一个return语句,那么return和大括号都可以省略
var fn=(a,b)=>a+b;
箭头函数的作用
可以绑定this
var person={
name:'Alice',
age:20,
showName:function(){
alert(this.name);
}
}
person.showName();
//匿名函数
let fnAdd=function(a,b){
var result=a+b;
return result;
}
var result=fnAdd(1,2);
alert(result);
//箭头函数
let fnAdd=(a,b)=>{
var result=a+b;
return result;
}
alert(fnAdd(a,b));
//一个参数的匿名函数
let fnAlert=function(a){
alert(a);
}
//一个参数的箭头函数
let fnAlert=a=>{
alert(a)
}
fnAlert(100);
//关于匿名函数的返回
let fnAdd=function(a,b){
return a+b;
}
alert(fnAdd(1,2));
//关于箭头函数的返回
let fnAdd=(a,b)=>a+b;
alert(fnAdd(1,2));
//关于匿名函数返回对象
var fnObj=function(a,b){
return {num01:a,num02:b};
}
alert(fnObj(1,2));
//关于箭头函数返回对象
var fnObj=(a,b)=>({num01:a,num02:b});
alert(fnObj(1,2));
其实箭头函数的真正意义就在于
修补this指向混乱问题
let person={
name:'Alice',
age='40',
showName:function(){
alert(this.name);
}
}
person.showName();