zoukankan      html  css  js  c++  java
  • 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));

  • 相关阅读:
    性能测试概念
    接口测试概念
    SQL多表查询
    手机App测试概念
    App测试页面滑动
    自动化测试概念
    Monkey 命令
    Tomcat+JDK安装和配置
    Linux系统FTP安装、安装和使用
    Web测试方法(一)
  • 原文地址:https://www.cnblogs.com/shuimuDT/p/6125708.html
Copyright © 2011-2022 走看看