zoukankan      html  css  js  c++  java
  • JavaScript 没有函数重载&Arguments对象

    对于学过Java的人来说。函数重载并非一个陌生的概念,可是javaScript中有函数重载么...接下来我们就进行測试

    <script type="text/javascript">
      	//JavaScript不存在函数重载现象
      	var add=function(a,b){
    		return a+b;
    	}
    	var add=function(a,b,c){
    		return a+b+c;
    	}
    <span style="white-space:pre">	</span>alert(1,2);
    	alert(add(1,2,3));
    
    
      </script>
    这个案例也仿照java中的语法,来模拟函数重载..我们执行一下结果

    alert(1,2):

    alert(1,2,3):

    结果对照发现:第一个执行的结果是NaN,第二个执行的结果正常。

    JavaScript中不存在函数重载的现象。当同一时候出现两个同样的函数名驶,第二个会覆盖第一个.因此alet(1,2)会找第二个函数,可是它是实參中的第三个參数为空,因此结果报了NaN.

    那么我们怎么样模仿Java中的函数重载现象呢?这里就要介绍Arguments对象...

    <script type="text/javascript">
      	//JavaScript不存在函数重载现象
    	var add=function(){
    		if(arguments.length==2){
    			return arguments[0]+arguments[1];
    		}else if(arguments.length==3){
    			return arguments[0]+arguments[1]+arguments[2];
    		}
    	}
    	alert(add(1,2,4));
      </script>
    functon必须是空的function(){}

    依据arguments是一个数组,能够依据他的长度length来推断函数的參数的个数...

  • 相关阅读:
    深入理解Java虚拟机二之Java内存区域与内存溢出异常
    深入理解java虚拟机一之走进Java
    数据结构之链表
    Spring AOP 详解
    Spring IOC 注入方式详解 附代码
    图的广度优先遍历
    图的深度优先遍历
    MySql 中的<=>操作符
    mysql数据库explain命令用法详解
    Java虚拟机内存分配详解
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/6971806.html
Copyright © 2011-2022 走看看