zoukankan      html  css  js  c++  java
  • JS是否存在方法重载

    java里面是存在重载的,那么js中呢?这个问题面试的时候会经常遇到。但是可以肯定的说,js中是不存在重载的,但是我们可以通过其他的方式来模拟重载,我们可以通过argument方法来实现。
    argument是系统自带的一个方法,它是一个数组,并且用来存储函数传递的参数值。例如,我们定义一个function函数如下,并采用三种参数调用。
    
        function add1(a,b){
         alert(arguments.length); //把传递的参数保存到了argument的数组里面
         return a+b;
         }
          alert(add1(1,2));
          alert(add1(1,2,3));
          alert(add1(1,2,3,4));

      alert(arguments.length)的结果分别是2,3,4。

    因此我们可以通过argument变量来模拟函数的重载。具体代码如下:

    <html>
     <head>
      <title>HTML示例</title>
      <style type="text/css">
    
      </style>
     </head>
     <body>
     <script type="text/javascript">
    function add1(a,b){
         alert(arguments.length); //把传递的参数保存到了argument的数组里面
         switch(arguments.length)
         {
         case 2:
            return arguments[0]+arguments[1];break;
         case 3:
            return arguments[0]+arguments[1]+arguments[2];break;
         case 4:
            return arguments[0]+arguments[1]+arguments[2]+arguments[3];break;
        default:
            return 0;
         } 
     }
          alert(add1(1,2));
          alert(add1(1,2,3));
          alert(add1(1,2,3,4));
           </script>
     </body>
    </html>
    
  • 相关阅读:
    【内推面试分享】普通本科的蚂蚁金服校招面试经验分享,内附答案
    Json解析
    创建新的MessageBox窗口前,先关掉之前已经创建好的
    TcxCheckComboBox的使用
    Delphi调用C#的DLL
    StringGrid数据导出到Excel
    从Excel导入信息在StringGrid显示
    JS的修饰符
    局部变量和全局变量
    List注意啊
  • 原文地址:https://www.cnblogs.com/mr-wuxiansheng/p/7512479.html
Copyright © 2011-2022 走看看