javaScript core :之函数的重载

版权声明:如有文章想转载请联系qq:1289281445 tel:13253311994 https://blog.csdn.net/qq_39458856/article/details/82385721

重载(overload)

WHAT:

           相同函数名,不同参数列表的多个函数,在调用时,可根据传入的参数不同,自动选择匹配的函数执行。

 WHY:

            减少API的数量,减轻调用者的负担

 WHEN:

             只要一项任务,可能根据传入参数的不同,执行不同的流程时。

 HOW:

        问题:js语法默认不支持重载,因为不允许多个同名函数同时存在!

         解决: arguments

         什么是: 函数调用时,自动创建的

扫描二维码关注公众号,回复: 6188252 查看本文章

                     保存所有传入函数的参数值的

               类数组对象(长的像数组的对象)

             vs 数组: 相同: 1. 下标; 2. .length; 3. 遍历

                           不同: 类型不同, API不通用

ex:

     function pay() {
            //arguments[  ].length
            if(arguments.length==0) {
                console.log("手机支付")
            }else if(arguments.length>=1){
                console.log(`现金支付${arguments[0]}元`)
            }else {
                console.log(`刷卡结账从${arguments[0]}扣款成功`)
            }
        }
        pay()//手机支付
        pay(100)//现金支付
        pay("6555 1234 566","123456")//刷卡结账

   何时使用arguments: 重载

   重载的缺点:不能见名知意

猜你喜欢

转载自blog.csdn.net/qq_39458856/article/details/82385721