JavaScript重载函数实例剖析
2019/6/27 22:25:59
本文主要是介绍JavaScript重载函数实例剖析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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重载函数实例剖析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-30React Native常用组件-点击组件
- 2024-05-30uniapp+vue3+uv-ui手机端后台OA管理模板
- 2024-05-29Python网络爬虫的时候json=就是让你少写个json.dumps()
- 2024-05-27React Native常用组件-展示组件
- 2024-05-27React Native常用组件-列表组件
- 2024-05-09vue3开发前端表单缓存自定义指令,移动端h5必备插件
- 2024-05-09React Hooks在class组件中的使用方式
- 2024-03-30[OIDC in Action] 2. 基于OIDC(OpenID Connect)的SSO(纯JS客户端)
- 2024-03-29terraform jsonencode
- 2024-03-13vuex-persist