今天的码农女孩做了关于函数扩展的笔记

函数扩展:

        1.默认值

        2.length:预期传入参数的个数,一般来说对函数指定默认值都是放在最后的参数里面。

        3.默认参数作用域,如果参数默认值是一个变量,则该变量所处的作用域,与其他变量的作用域规则是一样的,即先是当前函数的作用域,然后才是全局作用域

        4.rest参数:搭配的变量是一个数组,该变量将多余的参数传入数组中。注意:只能是最后一个参数否则报错

        5.箭头函数:基本形式()=>{...}

           使用规则:

           1.在只有一个形参时可以省略括号,其他情况不可以省略

           2.在只有一行并且把这行的结果返回时可以省略return

           3.省略花括号,在只有一行代码时,可以省略花括号

           新特性:

           1.argument不被支持

           2.不能被new

           3.this固定,始终指向函数定义时的this,而非执行时

   <script>
         //1.默认值
         function show(a=1,b=2){
             console.log(a,b);//3 2
         }
         show(3);
         //2.length
         function sum(a,b,c=3){
             return a+b+c;
         }
         console.log(sum.length);//2
         //预期传入参数,碰到第一个默认值就停止,以后参数不再计数
         function sum2(a,b=2,c){
             return a+b+c;
         }
         console.log(sum.length);//1
         //3.默认参数作用域
         var a=1;
         function f(a,b=a){
             console.log(a);//2
         }
         //调用时,由于函数作用域内部的变量a已经生成,所有b等于参数a,而不是全局变量a
         f(2);
         var a=111;
         function f1(b=a){
             let b=2;
             console.log(b);//111
         }
         //调用时,b的默认值变量a尚未在函数内部生成,所以a指向全局变量
         f1();
         var x=1;
         function f2(x=x){}
         f2();//报错x is not undefined
         //4.rest参数
         function fn(str,...m){
             let sum=0;
             for(var v of m){
                 sum+=v;
             }
             console.log(str+sum);
         }
         fn(1,2,3,4,5);//15
         //5.箭头函数
         //普通函数
         function m1(x){
             return x+1;
         }
         //箭头函数
         let m2=(x)=>{return x+1}
         console.log(m1(1));//2
         console.log(m2(1));//2
         //箭头函数简洁写法
         let m3=x=>x+1;
         console.log(m3(1));//2
     </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值