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>
    
  • 相关阅读:
    Redis的主从复制
    JVM之jps命令
    ThreadLocal源码分析
    ThreadLocal初体验
    Redis的逐出算法
    Redis的删除策略
    DagScheduler 和 TaskScheduler
    数据挖掘的数据预处理
    日志实时收集和计算的简单方案
    spark ml 的例子
  • 原文地址:https://www.cnblogs.com/mr-wuxiansheng/p/7512479.html
Copyright © 2011-2022 走看看