首页 > 代码库 > JavaScript中通过arguments对象实现对象的重载
JavaScript中通过arguments对象实现对象的重载
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /* *1.js 中不存在函数的重载 2.js函数定义时候的形参个数,和执行时候时,传递的实参的个数可以不一样。 3.js执行时候,会将真实的参数,封装成组arguments */ function add(a){ return a+10; } var add=new Function("a","return a+10"); //alert(add(5)); function add(num1,num2){ return num1+num2; } var add=new Function("num1","num2","return num1+num2"); alert(add(5,6)); alert(add(5));//这样调用的结果是NaN:因为调用的时后定义的两个参数的函数 //也就是虽然有var的声明,但是javascript中只要变量名称相同,后定义的就会覆盖 //之前定义的=======得出的结论就是js中不存在函数的重载。 //-------------------用arguments对象模拟方法的重载----- //-依据不同的参数个数,调用不同的代码块,最多25个参数 function addNum(){ alert(arguments.length); for(var x=0;x<arguments.length;x++){ alert(arguments[x]); //这个对象只能爱函数体内 } if(arguments.length==1){ return arguments[0]+10; }else if(arguments.length==2){ return arguments[0]+arguments[1]; }else{ return "参数错误,请核对"; } } var value=http://www.mamicode.com/addNum(10,20,30);>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。