美文网首页
js的重载

js的重载

作者: 幽幽_默默 | 来源:发表于2020-03-22 15:45 被阅读0次

javascript中书上的介绍说是没有重载的,实际上利用闭包是可以用重载的。

添加find的方法的重载。

addMethod(people, "find",function() {});/*不传参*/

addMethod(people, "find",function(a) {});/*传一个*/

addMethod(people, "find",function(a, b) {});/*传两个*/

function addMethod(object, name, fn) {

  var old = object[name];//把之前添加的方法存在一个临时变量old里面

             object[name] =function() {// 重写了object[name]的方法

//fn.length表示函数参数的个数,函数的预计参数和实际传入参数个数相等。则调用方法

            if(fn.length === arguments.length) {

      return fn.apply(this, arguments);

    // 否则,判断old是否是函数,如果是,就调用old

                    }elseif(typeof old === "function") {

      return old.apply(this, arguments);

    }

  }

}

相关文章

  • 2019-08-27

    Javascript的多态性 1.js不支持重载 /*****************说明js不支持重载*****...

  • JS知识点整理-3

    JS函数的重载 什么是重载? 方法名相同,参数不同 JS是否存在重载?--不存在,调用最后一个方法,把传递的参数保...

  • js的重载

    javascript中书上的介绍说是没有重载的,实际上利用闭包是可以用重载的。 添加find的方法的重载。 add...

  • js的重载

    问:什么是重载?答:同样的函数,不同样的参数个数。《JS高级程序设计》里是提到过函数是没有重载的,ts中有重载。但...

  • 2.解决js中没有函数重载问题

    在js中没有重载: 相同名称的函数,最后一次声明的函数会覆盖之前声明的函数 解决js中没有重载的问题: 1.解决参...

  • js 函数的重载

    我们知道,很多编程语言都有函数的重载。 所谓的重载,看定义: 重载,简单说,就是函数或者方法有相同的名称,但是参数...

  • js没有重载

    重载函数 同名不同参数(类型和数量)的函数之间互称为重载函数。 理解参数 js中的参数不同于传统的编程语言中的参数...

  • js函数重载

  • JS函数重载

    所谓函数重载(method overloading),就是函数名称一样,但是输入输出不一样。或者说,允许某个函数有...

  • 【jq源码探秘】— js如何实现实现重载

    大家都知道js是没有重载的,但是通过某种方式是可以实现的,下面就是jq的实现方式: 凭直觉,函数重载可以通过if…...

网友评论

      本文标题:js的重载

      本文链接:https://www.haomeiwen.com/subject/usxvyhtx.html