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 相关文章推荐
jQuery1.6 类型判断实现代码
Sep 01 Javascript
在JavaScript中实现类的方式探讨
Aug 28 Javascript
js采用map取到id集合组并且实现点击一行选中一行
Dec 16 Javascript
浅析jquery数组删除指定元素的方法:grep()
May 19 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
Sep 14 Javascript
简单快速的实现js计算器功能
Aug 17 Javascript
jquery中有哪些api jQuery主要API
Nov 20 jQuery
详解使用vuex进行菜单管理
Dec 21 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
Aug 22 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
Oct 23 Javascript
详解JavaScript作用域 闭包
Jul 29 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
Oct 09 Javascript
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
使用php来实现网络服务
2009/09/15 PHP
PHP 第三节 变量介绍
2012/04/28 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
使一个函数作为另外一个函数的参数来运行的javascript代码
2007/08/13 Javascript
javascript 动态调整图片尺寸实现代码
2009/12/28 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
Nodejs全栈框架StrongLoop推荐
2014/11/09 NodeJs
jquery自定义表单验证插件
2016/10/12 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
详解nodejs微信jssdk后端接口
2017/05/25 NodeJs
详解webpack介绍&安装&常用命令
2017/06/29 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
微信小程序激励式视频广告组件使用详解
2019/12/06 Javascript
JavaScript监听触摸事件代码实例
2019/12/30 Javascript
vue 判断元素内容是否超过宽度的方式
2020/07/29 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
解决vue scoped scss 无效的问题
2020/09/04 Javascript
Python中endswith()函数的基本使用
2015/04/07 Python
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
利用python为运维人员写一个监控脚本
2018/03/25 Python
python实现雨滴下落到地面效果
2018/06/21 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
2020/03/12 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
CSS3中的Media Queries学习笔记
2016/05/23 HTML / CSS
美体小铺美国官网:The Body Shop美国
2017/11/10 全球购物
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
继承权公证书
2014/04/09 职场文书
道德与公民自我评价
2015/03/09 职场文书
公司放假通知怎么写
2015/04/15 职场文书
2019年工作总结范文
2019/05/21 职场文书
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS