JavaScript重载函数实例剖析

 更新时间:2016年05月13日 10:36:56   投稿:mrr  
通过本文给大家简单介绍下JavaScript重载函数的相关知识,在js中有没有重载函数这个概念呢?很多朋友都很模糊,说不太清楚,下面通过本文给大家介绍js重载函数,一起学习吧

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重载函数的相关知识,感兴趣的朋友一起学习吧!

相关文章

  • 原生JS实现拖拽位置预览

    原生JS实现拖拽位置预览

    这篇文章主要为大家详细介绍了原生JS实现拖拽位置预览,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 利用js实现选项卡的特别效果的实例

    利用js实现选项卡的特别效果的实例

    利用js实现选项卡的特别效果的实例,需要的朋友可以参考一下
    2013-03-03
  • js验证表单大全

    js验证表单大全

    js验证表单大全...
    2006-11-11
  • 详细解密jsonp跨域请求

    详细解密jsonp跨域请求

    当进行一些比较深入的前端编程的时候,不可避免地需要进行跨域操作,JSONP跨域GET请求是一个常用的解决方案,下面我们来看一下JSONP跨域是如何实现的,并且探讨下JSONP跨域的原理。
    2015-04-04
  • 关于javascript sort()排序你可能忽略的一点理解

    关于javascript sort()排序你可能忽略的一点理解

    最近在研究Javascript发现了其中一些之前忽略的问题,所以想着总结分享出来,下面这篇文章主要给大家介绍了关于javascript sort()排序你可能忽略的一点理解,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • javascript 运算数的求值顺序

    javascript 运算数的求值顺序

    请注意,这里说的是运算数的求值顺序。而非运算符,运算符的求值顺序我们比较熟悉。
    2011-08-08
  • 解决LayUI数据表格复选框不居中显示的问题

    解决LayUI数据表格复选框不居中显示的问题

    今天小编就为大家分享一篇解决LayUI数据表格复选框不居中显示的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JS模拟实现Excel条件格式中的色阶效果

    JS模拟实现Excel条件格式中的色阶效果

    这篇文章主要为大家详细介绍了如何利用JavaScript模拟实现Excel条件格式中的色阶效果,文中的示例代码讲解详细,感兴趣的小伙伴可以尝试一下
    2023-05-05
  • JavaScript实现树的遍历算法示例【广度优先与深度优先】

    JavaScript实现树的遍历算法示例【广度优先与深度优先】

    这篇文章主要介绍了JavaScript实现树的遍历算法,结合实例形式分析了javascript针对树结构的广度优先遍历与深度优先遍历实现方法,需要的朋友可以参考下
    2017-10-10
  • 在TypeScript中泛型的使用方法及场景

    在TypeScript中泛型的使用方法及场景

    泛型是TypeScript中的一个强大特性,它可以增加代码的灵活性和安全性,在本文中,我将向您介绍泛型的使用方法和场景,并展示如何使用类型约束,需要的朋友可以参考下
    2023-08-08

最新评论