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来判断函数的参数的个数…

版权声明:本文为博主原创文章,未经博主允许不得转载。

勇士面前无险路。

JavaScript 没有函数重载Arguments对象

相关文章:

你感兴趣的文章:

标签云: