手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JavaScript中如何通过arguments对象实现对象的重载
JavaScript中如何通过arguments对象实现对象的重载
摘要:复制代码代码如下:Inserttitlehere/**1.js中不存在函数的重载2.js函数定义时候的形参个数,和执行时候时,传递的实参的个...

复制代码 代码如下:

<!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=addNum(10,20,30);

alert("函数的返回值:"+value);//结果value的值就是:"参数错误,请核对"

//事实上,是通过参数的判断,去实现调用不同的函数功能,并且返回不同的值;这样做类似的实现了java中的重载

//但是本质上,js中是没有重载的,相同的变量,在不同的位置出现,若赋值后,必然会覆盖前面声明的变量。当然

//这里面排除掉函数内部的量和函数外部变量的这一种关系。

</script>

</head>

<body>

</body>

</html>

【JavaScript中如何通过arguments对象实现对象的重载】相关文章:

用JavaScript实现对话框的教程

JavaScript基于setTimeout实现计数的方法

JavaScript Array对象详解

JavaScript中length属性的使用方法

JavaScript中的fontsize()方法使用介绍

基于JavaScript实现动态添加删除表格的行

JavaScript中string对象

JavaScript中eval函数的问题

JavaScript实现简单的数字倒计时

Javascript实现广告页面的定时关闭

精品推荐
分类导航