`
littie1987
  • 浏览: 131307 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Javascript中实现方法重载

阅读更多

大家知道,在JS中没有方法重载这个功能。那么如何实现方法重载呢?

在JS中有一个arguments对象。他是一个数组,包含了访问参数的集合。看代码:

function add(){
var length = arguments.length;
var result;
if(length==1){
  result = arguments[0];
}else if(length==2){
  result = parseInt(argument[0])+parseInt(arguments[1]);
}
}
add(2); add(2,3);

 上述代码定义了一个add()方法,但是并没有声明参数。调用add的时候,参数会被保存到arguments数组当中。通过数组的长度,就可以决定调用不同的代码块,实际上是间接的实现了方法的重载。

arguments在js中很常见,在DOM标准的浏览其中,我们要得到事件对象,一般都用arguments[0];

分享到:
评论

相关推荐

    TypeScript中的方法重载详解

    虽然语言层面无法自动进行重载,但借助其动态的特性,我们可以在代码中手动检查入参的类型,或者通过 arguments 获取到参数个数,从而实现根据不同的入参做不同的操作。 比如有一个获取聊天消息的方法,根据传入的...

    Javascript实现运算符重载详解

    本文给大家汇总介绍了Javascript实现运算符重载的方法,实现的思路很简单,有需要的小伙伴可以来看看

    让 JavaScript 轻松支持函数重载 (Part 2 - 实现)

    在上一篇文章里,我们设计了一套能在JavaScript中描述函数重载的方法,这套方法依赖于一个叫做Overload的静态类,现在我们就来看看如何实现这个静态类。

    JavaScript 的方法重载效果

    JavaScript 语言的方法声明中,不能明确指定参数的类型和个数,所以不能实现方法的重载,但是我们可以用其他的方法来实现重载的效果。

    Javascript基础 函数“重载” 详细介绍

    所以Javascript是不能像其他语言一样实现方法名相同,参数个数不同…的这类重载的,不信你可以试试: 代码如下: function show(){ alert(“1”); } function show(num1){ alert(num1); } ...

    ES6中Proxy与Reflect实现重载(overload)的方法

    本文实例讲述了ES6中Proxy与Reflect实现重载(overload)的方法。分享给大家供大家参考,具体如下: Proxy与Reflect实现重载(overload) 从语法角度讲JavaScript不支持重载。原因很简单,JS中函数可以传入任意类型、...

    妙用缓存调用链实现JS方法的重载

    首先javascript是没有重载函数/方法这个概念的,但是js提供了一个arguments这个方法参数,通过这个参数的length属性就可以拿到方法参数的长度,o~对了,咱们今天实现的也仅仅是按照参数长度重载,而不是参数类型~~·...

    JavaScript中使用参数个数实现重载功能

    主要介绍了JavaScript中使用参数个数实现重载功能,需要的朋友可以参考下

    Javascript 面向对象之重载

    上几节讲了 JavaScript 面向对象之命名... 但是我们确实是可以实现重载的,如果你用过jQuery,你就会深有体会,比如$(“#btn”).val() 是获取id为”btn”的按钮的value值,而$(“#btn”).val(“点我”)则是给id为”btn”

    JavaScript中如何通过arguments对象实现对象的重载

    js 中不存在函数的重载,但却可以通过arguments对象实现对象的重载,下面有个不错的示例,大家可以参考下

    Javascript 面向对象 重载

    但是我们确实是可以实现重载的,如果你用过jQuery,你就会深有体会,比如$(“#btn”).val() 是获取id为”btn”的按钮的value值,而$(“#btn”).val(“点我”)则是给id为”btn”的按钮赋值。 那么JavaScript是怎么...

    popo:在javascript中实现多态的愚蠢方法

    波波 在javascript中实现多态的简单方法安装使用 npm 安装: npm install --save popo用凉亭安装: bower install --save popo用法参数编号只有可能的重载函数Node.js var popo = require('popo');var sayHello = ...

    JavaScript 通过模式匹配实现重载

    正好infinte同学提出“更优雅的兼容”其实也和这个问题有一定的关联(我们后面会看到) 在youa的脚本库中Function的Helper中,添加支持重载的模式匹配 代码如下: /** * 函数参数重载方法 overload,对函数参数进行...

    源文件程序天下JAVASCRIPT实例自学手册

    1.8 JavaScript的实现基础 1.8.1 ECMAScript 1.8.2 DOM 1.8.3 BOM 1.9 客户端与服务器端脚本 1.10 JavaScript与JScript、 VBScript 1.11 JavaScript与Java、Java applet 1.12 JavaScript的未来如何 1.13 本章小结 第...

    JS重载实现方法分析

    主要介绍了JS重载实现方法,结合实例形式分析了javascript重载的实现与使用方法,需要的朋友可以参考下

    JavaScript王者归来part.1 总数2

     第2章 浏览器中的JavaScript  2.1 嵌入网页的可执行内容   2.2 赏心悦目的特效   2.3 使用JavaScript来与用户交互  2.4 绕开脚本陷阱 2.5 总结   第3章 开发环境和调试方法  3.1 我能用什么来编写脚本--...

Global site tag (gtag.js) - Google Analytics