你的位置:首页 > Java教程

[Java教程]javascript模拟实现函数重载


javascript模拟实现函数重载:
函数重载功能必须要模拟实现,因为本身并不具备,关于函数重载的概念这里就不多介绍了,因为不知道何为重载,那么本章节也就没有任何意义了,下面先看一段代码实例:

 

function func(){alert("蚂蚁部落");}function func(num){alert(num)}func();func(2);

 

以上代码中,第一个弹出undefined第二个弹出2,这说明第一个函数已经被第二个覆盖了,这说明js并没有重载。
下面就来介绍一下如何模式实现重载效果。在js中arguments可以返回一个对象,它存放的是传入函数的实参,通过索引可以访问每一个实参,例如arguments[0]就是传入的第一个实参。
特别注意:javascript中,函数的形式参数正如其名,只是一个形式而已,例如只有一个形参,你完全可以传入任意多个参数。
于是我们就可以利用js函数的这两个特点,进行一下判断就可以了,代码实例如下:

 

function func(){ if(arguments.length==0) {  alert("蚂蚁部落");  } else if(arguments.length==1) {alert(arguments[0]) }}func();func(2);

 

以上就简单模拟实现了函数的重载效果。
相关阅读:
1.arguments属性可以参阅javascript的arguments对象一章节。 

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=9797

更多内容可以参阅:http://www.softwhy.com/javascript/