九,ES6为函数做的一些扩展

参数的默认值

传统方法:

function demo(m,n){

var name=m||"shasha";

var age=n||20;

}

传统做法实现原理是:如果运算符||左侧是true则直接返回左侧的,反之,返回右侧的;

不过有一个缺点,就是如果我想传进去0的话,那么就不行了,或者说传入的参数布尔值为false就不可以了,

ES6新方法:

function demo(m="shasha",n=20){

console.log(m,n);

}

demo() //shasha 20

demo("xiaoming",30) //xiaoming 30

如果函数有多个参数,但只有部分需要指定默认值,另一部分不需要的话,那么,设定默认值的参数一定要放在最后

新方法解决了传入参数是false就不可以的问题了,只有传入的参数是undefined或者不传才会使用默认值;哪怕传入的参数是0,null.....


rest参数

先看例子:

function sum(result,...values){
        //打印values看看是什么
     console.log(values);
        //结果:[1,2,3,4]
        //进行求和
     values.forEach(function (value,index) {
            //求和得到的结果存到result
            result += value;
        });
        //打印出求和的结果看看
     console.log(result);
        //结果:10
    }
    //存储求和结果的变量res
    var res = 0;
    //调用sum函数
    sum(res,1,2,3,5);

首先会看到...values(三个点+变量名),这是一种新写法,也就是rest参数,它的意思是在实参中除了第一个参数以外,剩余的参数都会被values获取到;

rest参数必须是函数的最后一个参数,后面不能再跟其他参数

错误写法:

function demo(a,...values,bb){......}

正确写法:

functiondemo(a,bb,...values){......}

扩展运算符

rest参数,它的表示法使用...(三个点),它除了用在rest参数中,还有其他用途,我们称这种表示法为扩展运算符

它一般结合数组使用,把数组的元素用逗号分隔开来,组成一个序列

function demo(a,b){

return a+b;

}

var arr=[1,2]

demo(...arr) //3

从这个案例我们就可以理解扩展运算符...的作用了,它可以将一个数组转成一个对应的参数数列。在实际开发中,你可以根据扩展运算符的作用,可以灵活运用,实现各种效果

箭头函数(=>)

传统写法:

var num=function demo(a){return a}

箭头函数:

var num=a=>a

简单吧!是不是有点不可思议!

第二种写法:a=>a; 这里的第一个a代表是传进去的参数,箭头=>后面的a表示函数体

var num=(a,b)=>{return a+b}

      num(1,2) //3

注意上面的参数和函数体部分,如果参数超过1个的话,需要用小括号()括起来,函数体语句超过1条的时候,需要用大括号{ }括起来

箭头函数的最大作用就是简化函数,大大地减少代码量

例如对一个数组求和:

传统写法:

var num=0;

[1,2,3,4,5,6].forEach(function(value){return num+=value;})

箭头函数:

var num=0;

[1,2,3,4,5,6].forEach(value=>num+=value)

确实省了很多代码!!!











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值