javascript 重载函数

网友投稿 225 2022-12-01

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"; //stringvar temp = 1; //numbervar temp = undefined; //undefinedvar temp = null; //objectvar temp = {}; //objectvar temp = []; //objectvar temp = true; //booleanvar temp = function (){} //function

function testFunction(a){ if(typeof(a) == "number"){ //do something }else if(typeof(a) == "string"){ //do something }}

​​http://waitingfy.com/archives/1083​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spark: Cluster Computing with Working Sets
下一篇:SpringBoot Java后端实现okhttp3超时设置的方法实例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~