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 相关文章推荐
JavaScript 学习笔记(九)call和apply方法
Jan 11 Javascript
jqeury eval将字符串转换json的方法
Jan 20 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
Aug 05 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
Jan 21 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
Feb 21 Javascript
基于jQuery实现瀑布流页面
Apr 11 jQuery
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
Nov 13 Javascript
JavaScript定时器常见用法实例分析
Nov 15 Javascript
Javascript如何递归遍历本地文件夹
Aug 06 Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
Aug 06 Javascript
构建一个JavaScript插件系统
Oct 20 Javascript
如何用JS实现网页瀑布流布局
Apr 24 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中引用类型和值类型功能与用法示例
2019/02/26 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
JavaScript学习历程和心得小结
2010/08/16 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
简单解析JavaScript中的__proto__属性
2016/05/10 Javascript
js遍历map javaScript遍历map的简单实现
2016/08/26 Javascript
jQuery实现ajax回调函数带入参数的方法示例
2018/06/26 jQuery
axios 封装上传文件的请求方法
2018/09/26 Javascript
[56:13]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第一场 1月10日
2021/03/11 DOTA
python生成指定长度的随机数密码
2014/01/23 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
微信跳一跳python代码实现
2018/01/05 Python
python 连接各类主流数据库的实例代码
2018/01/30 Python
python爬取个性签名的方法
2018/06/17 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
基于python的列表list和集合set操作
2019/11/24 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
python文件编写好后如何实践
2020/07/07 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
新浪网技术部笔试题
2016/08/26 面试题
超市业务员岗位职责
2013/12/05 职场文书
一年级数学教学反思
2014/02/01 职场文书
网络研修随笔感言
2014/02/17 职场文书
气象学专业个人求职信
2014/04/22 职场文书
个人授权委托书模板
2014/09/14 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
导游词之青岛太清宫
2019/12/13 职场文书
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL
vue修饰符.capture和.self的区别
2022/04/22 Vue.js