• JS中的arguments模拟JAVA 的重载


    重载(overload):

      相同函数名,不同参数列表的多个函数,在调用时,可根据传入参数的不同,自动选择对应的函数执行。
    为什么: 减少API的数量,减轻调用者的负担
    何时: 今后一项任务,只是根据传入参数的不同,执行不同的操作时,就用重载。
    如何:
    问题: js的语法不支持重载,因为js中不允许同时存在多个同名函数。
    解决:
    arguments: 每个函数内自动创建的
          自动接收所有传入函数的参数值的 类数组对象——长的像数组的对象。

      vs 数组: 相同: 1. 下标访问每个元素
               2. length属性记录元素个数
                   3. 用for 遍历
            不同: 不是数组类型
              不能使用数组API

    例子:函数中传入不同的参数列表而返回不一样的结果

    列子1  运用  "arguments.length"  的属性

    function pay(){
      if(arguments.length==1){
        console.log("现金结账");
      }else  if(arguments.length==2){
            console.log("刷卡结账");
      }else if (arguments.length==0)
      {
        console.log("微信结账");
      }
    }
    pay(100);
    pay("123455","555");
    pay();

    列子2  运用 "arguments[i]"  遍历arguments

    function add(){
      //遍历arguments中每个元素,同时声明sum=0
      //将argumenrs中当前元素累加到sum上
      for(var sum=0,i=0;i<arguments.length;i++){
        sum+=arguments[i];
      }
      return sum;
    }
    console.log(add(1,2,3),add(1,2,3,4,5));

  • 相关阅读:
    HTML5简介
    PHP
    纯CSS3写的10个不同的酷炫图片遮罩层效果
    零基础如何自学MySQL数据库?
    js与jQuery
    MAC下GitHub命令操作
    框架基础:ajax设计方案(二)---集成轮询技术
    框架基础:ajax设计方案(一)---集成核心请求
    框架基础:ajax设计方案(三)---集成ajax上传技术
    Jquery操作下拉列表和复选框,自定义下拉
  • 原文地址:https://www.cnblogs.com/shuimuDT/p/6125708.html
Copyright © 2020-2023  润新知