JavaScript中如何通过arguments对象实现对象的重载


Posted in Javascript onMay 12, 2014
<!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 相关文章推荐
Javascript排序算法之合并排序(归并排序)的2个例子
Apr 04 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
Aug 15 Javascript
js实现浏览本地文件并显示扩展名的方法
Aug 17 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
Dec 31 Javascript
JavaScript实现审核流程状态的动态显示进度条
Mar 15 Javascript
js中字符型和数值型数字的互相转化方法(必看)
Apr 25 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
Sep 10 Javascript
Angular-UI Bootstrap组件实现警报功能
Jul 16 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
Aug 20 Javascript
Vue常见面试题整理【值得收藏】
Sep 20 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
Nov 23 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
May 12 Javascript
JavaSript中变量的作用域闭包的深入理解
May 12 #Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
May 12 #Javascript
JavaScript中对象属性的添加和删除示例
May 12 #Javascript
构造函数+原型模式构造js自定义对象(最通用)
May 12 #Javascript
Javascript中对象继承的实现小例
May 12 #Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
May 12 #Javascript
js图片处理示例代码
May 12 #Javascript
You might like
Nigma vs Liquid BO3 第一场2.14
2021/03/10 DOTA
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
javascript实现数组中的内容随机输出
2015/08/11 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
jQuery代码实现表格中点击相应行变色功能
2016/05/09 Javascript
js重写方法的简单实现
2016/07/10 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
2016/09/16 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
基于input框覆盖掉数字英文的实例讲解
2017/07/21 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
2017/05/08 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
利用python实现短信和电话提醒功能的例子
2019/08/08 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
Python图片的横坐标汉字实例
2019/12/04 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
python else语句在循环中的运用详解
2020/07/06 Python
详解Python 循环嵌套
2020/07/09 Python
python中pyplot基础图标函数整理
2020/11/10 Python
美国最大的购物网站:Amazon.com(亚马逊美国)
2020/05/23 全球购物
小学防溺水制度
2014/01/29 职场文书
小学音乐教学反思
2014/02/05 职场文书
春节联欢晚会主持词
2014/03/24 职场文书
爱情寄语大全
2014/04/09 职场文书
学校捐书倡议书
2015/04/27 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
在Django中使用MQTT的方法
2021/05/10 Python