ES6语法之函数扩展

1.点运算在函数中使用


            //js是一种弱类型的语言,没有重载机制,当我们重写函数时,会将原来的函数直接覆盖
            // 可以利用arguments,来判断传入的实参类型与数量进行不同的操作,然后执行不同的操作
            function test1() {
                //arguments伪数组集合
                //arguments是参数的伪数组集合,没有forEach方法
                //可以利用Array.from()伪数组转化为真数组
                let datas = Array.from(arguments);
                datas.forEach((item, index) => {
                    console.log(item)
                })

            }
            test1(1, 23, 4)//1 23 4
            
	         //ES6中可以使用三点运算在函数中使用
            //...将参数序列化
            function test(code, ...value) {

                console.log('code', code);
                //只序列化对应code参数后的位置
                value.forEach((item, index) => {
                    console.log(item, index)
                })

            }
            test(1, 2, 4);//code1 2 4
            

2.函数参数的默认值


            //2.函数参数的默认值
            //在形参设置时候,默认传递一个值,此方法被调用未被传参时
            //则使用形参的默认值
            function sayHellow(name, sex = 'm') {
                if (sex == 'm') {
                    console.log('hellow' + name);
                }

                if (sex == 'w') {
                    console.log('no' + name);
                }
            }

            sayHellow('小张');//hellow小张
            sayHellow('小李', 'w');//no小李
            //sayHellow.length 则返回没有设置形参默认值的个数



3.箭头函数


            //3.箭头函数
            //匿名函数的简写形式
            //箭头函数没有自己的this,箭头函数的this指向他声明时所处的环境中
            //格式1
            let fun1 = (a, b) => { console.log(a, b) }
            fun1('a', 'b');//a,b
            //格式2 当形式参数只有一个的时候,小括号可以省略
            let fun2 = a => { console.log(a) }
            fun2('a');//a
            //格式3 当方法体只有一句代码的时候,大括号也可以省略
            //并且自动把结果return回来
            let fun3 = a => a + 10;
            let num = fun3(10);
            console.log(num);//20


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值