ES6箭头函数

多个参数写法

const  fn  =  (a1,a2)  =>{

    return a1 + a2;

}

如果函数内部只有一行代码可以这样写  默认返回 a1 + a2;

const  fn  =  (a1,a2)  =>  a1 + a2;

一个参数 写法

const  fn  =  a1  =>{  // a1 可以不加 ()

    return a1;

}

没有参数写法

const  fn  =  ()  =>{

    console.log(" hello word ")

}

const obj = {     

    fn:(a1,a2)=>{       

    console.log(this);       

    return a1*a2;    

 },     

    add(a){       

    console.log(this); 

     return a;    

}   

}   

console.log(obj.fn(5,5));   // fn的 this 指向 widow

console.log(obj.add(100)); // add的 this 指向 obj

const obj = {     

aaa(){     

setTimeout(function({        

console.log(this);  //window 用这种方式写是call调用在传this进去,始终指向window

}, 10);      

setTimeout(() => {          

console.log(this); //obj  写成箭头函数,他是向外层作用域查找this这个变量,this => obj

}, 10);     }   

}   

obj.aaa();

你可能感兴趣的:(ES6箭头函数)