JavaScript重载函数实例剖析


Posted in Javascript onMay 13, 2016

1.javascript 中是没有重载函数这个概念的!

首先javascript是没有重载函数这个概念的,很久以前,我用javascript做网页的时候,写一些简单的效果,根本不需要用到重载函数,当写游戏的时候,有大量的函数的时候,就想用重载函数了,没想到javascript不支持。

我们来简单用两种方式来"模拟"下重载函数。

2.根据参数的个数来判断

javascript的函数中有一个叫arguments的变量,是记录参数的一个数组,我们可以用这个来判断参数的个数,然后分别执行不同的内容,就是同一个函数可以有不同效果,跟C++等强类型语言的重载函数还是相差很大。你可以这样写,参数全部注释掉,告诉使用函数者,这个函数最多支持3个参数,具体参数在函数里面再获取。支持重载函数的注释一定要多写点,这样会清晰些,最好附上调用例子。

/**
* Return sum of a and b and less than limitNumber
* @param {Number} a
* @param {Number} b
* @param {Number} limitNumber
*/
function add(/*a, b, limitNumber*/){
var a,b,limitNumber;
a = arguments[0];
b = arguments[1];
if(arguments.length == 3){
limitNumber = arguments[2];
if(a + b > limitNumber){
return limitNumber;
}
}
return a + b;
}

3.根据参数类型不同来判断

javascript有一个关键字叫typeof,可以判断出一个变量的类型。

var temp = "say"; //string
var temp = 1; //number
var temp = undefined; //undefined
var temp = null; //object
var temp = {}; //object
var temp = []; //object
var temp = true; //boolean
var temp = function (){} //function 
function testFunction(a){
if(typeof(a) == "number"){
//do something
}else if(typeof(a) == "string"){
//do something
}
}

以上内容是小编给大家介绍的javascript重载函数的相关知识,感兴趣的朋友一起学习吧!

Javascript 相关文章推荐
jQuery插件开发基础简单介绍
Jan 07 Javascript
js的alert样式如何更改如背景颜色
Jan 22 Javascript
jQuery 选择同时包含两个class的元素的实现方法
Jun 01 Javascript
bootstrap中添加额外的图标实例代码
Feb 15 Javascript
JavaScript实现反转字符串的方法详解
Apr 27 Javascript
Vuex和前端缓存的整合策略详解
May 09 Javascript
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
Aug 10 Javascript
详解react使用react-bootstrap当轮子造车
Aug 15 Javascript
vue-prop父组件向子组件进行传值的方法
Mar 01 Javascript
react-native android状态栏的实现
Jun 15 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
Jul 31 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
Jun 10 jQuery
JS加载iFrame出现空白问题的解决办法
May 13 #Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
May 13 #Javascript
JS iFrame加载慢怎么解决
May 13 #Javascript
基于JS实现的笛卡尔乘积之商品发布
May 13 #Javascript
基于jQuery倒计时插件实现团购秒杀效果
May 13 #Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
May 13 #Javascript
最简单的tab切换实例代码
May 13 #Javascript
You might like
实例(Smarty+FCKeditor新闻系统)
2007/01/02 PHP
PHP 生成微信红包代码简单
2016/03/25 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
javascript中的作用域scope介绍
2010/12/28 Javascript
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
2011/01/08 Javascript
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
JS限制Textarea文本域字符个数的具体实现
2013/08/02 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
当达到输入长度时表单自动切换焦点
2014/04/06 Javascript
jquery中val()方法是从最后一个选项往前读取的
2015/09/06 Javascript
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
Vue.js分页组件实现:diVuePagination的使用详解
2018/01/10 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
2020/02/15 Javascript
Python使用遗传算法解决最大流问题
2018/01/29 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
cookies应对python反爬虫知识点详解
2020/11/25 Python
HTML5无刷新改变当前url的代码
2017/03/15 HTML / CSS
Expedia挪威官网:酒店、机票和租车
2018/03/03 全球购物
实习生个人找工作的自我评价
2013/10/30 职场文书
商场活动策划方案
2014/01/24 职场文书
《太阳》教学反思
2014/02/21 职场文书
办公自动化专业大学生职业规划书
2014/03/06 职场文书
教师师德演讲稿
2014/05/06 职场文书
2014高考励志标语
2014/06/05 职场文书
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
单位车辆管理制度
2015/08/05 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
浅谈Python中的函数(def)及参数传递操作
2021/05/25 Python
HTML怎么设置下划线?html文字加下划线方法
2021/12/06 HTML / CSS