箭头函数

“箭头”(=>)定义函数。

let name='hello';
        ()=>{
            console.log('name');
        };

        (name)=>{
            console.log(name);
        } ;

        let d= name=>{
            console.log(name);
        };

        (name,age)=>{
            console.log(name,age);

        };

        let c=(a,b)=>a+b;

        (a,b)=>{
            console.log(a+b);
        }
           console.log(c(1,2));

           
 ar f = v => v;
上面的箭头函数等同于:

var f = function(v) {
  return v;
};
如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。

由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号。


箭头函数可以与变量解构结合使用。

dom2

  function foo() {
  fom( => {
    console.log('args:', fom);
  }, 100);
}

foo(2, 4, 6, 8)
// args: [2, 4, 6, 8]

上面代码中,箭头函数内部的变量fom,函数foo的arfom变量;


参数默认值

   function sayHello(name){
    //传统的指定默认参数的方式
    var name=name||'dude';
    console.log('Hello '+name);
}
//运用ES6的默认参数
function sayHello2(name='dude'){
    console.log(`Hello ${name}`);
}
sayHello();//输出:Hello dude
sayHello('Wayou');//输出:Hello Wayou
sayHello2();//输出:Hello dude
sayHello2('Wayou');//输出:Hello Wayou

不定参数

//将所有参数相加的函数
function add(...x){
    return x.reduce((m,n)=>m+n);
}
//传递任意个数的参数
console.log(add(1,2,3));//输出:6
console.log(add(1,2,3,4,5));//输出:15

拓展参数

var people=['Wayou','John','Sherlock'];
//sayHello函数本来接收三个单独的参数人妖,人二和人三
function sayHello(people1,people2,people3){
    console.log(`Hello ${people1},${people2},${people3}`);
}
//但是我们将一个数组以拓展参数的形式传递,它能很好地映射到每个单独的参数
sayHello(...people);//输出:Hello Wayou,John,Sherlock 

//而在以前,如果需要传递数组当参数,我们需要使用函数的apply方法
sayHello.apply(null,people);//输出:Hello Wayou,John,Sherlock
posted @ 2017-07-12 19:27  前端兵哥哥  阅读(711)  评论(0编辑  收藏  举报