美文网首页
JavaScript函数重载

JavaScript函数重载

作者: 六寸光阴丶 | 来源:发表于2020-06-24 20:23 被阅读0次

源代码

let addMethods = (object, name, fun) => {
  const old = object[name]
  object[name] = function () {
    if (fun.length === arguments.length) {
      return fun.apply(this, arguments)
    } else if (typeof old === 'function') {
      return old.apply(this, arguments)
    }
  }
}

let obj = {}

addMethods(obj, 'fun', function (params) {
  console.log(params)
})

addMethods(obj, 'fun', function (params1, params2) {
  console.log(params1, params2)
})

addMethods(obj, 'fun', function (params1, params2, params3) {
  console.log(params1, params2, params3)
})

测试

obj.fun(1)
obj.fun(1, 2)
obj.fun(1, 2, 3)
obj.fun(1)
obj.fun(1, 2)
obj.fun(1, 2, 3)

相关文章

  • JavaScript 函数重载 浅析

    什么是函数重载? 首先想声明下,什么是函数重载,javascript中不存在函数重载的概念,(其实是个伪命题)但一...

  • JavaScript函数重载

    说明 JavaScript 中没有真正意义上的函数重载。 函数重载 函数名相同,函数的参数列表不同(包括参数个数和...

  • JavaScript 函数重载

    概念 重载是指函数或者方法有相同的名称,但是参数个数或类型不相同的情形,这样的同名不同参的函数或者方法之间,互相称...

  • JavaScript函数重载

    转载自:作者Fundebug以及本文地址:https://blog.fundebug.com/2017/07/24...

  • JavaScript函数重载

    JQuery常用方法 $('.test') $('.test','td') $(['.test', 'td']) ...

  • JavaScript函数重载

    源代码 测试

  • 初识JavaScript函数Arguments模拟重载

    在 JavaScript 中并没有重载函数的功能,但每个函数中的 Arguments 对象可以模拟重载的实现。 1...

  • 函数迈出三小步(三)

    六、函数重载 6.1 JavaScript支持重载吗? 重载在通常的面向对象语言中这样定义:方法名相同参数列表不...

  • 02-JavaScript

    一、基础 1.函数的arguments 其实Javascript并没有重载函数的功能,但是Arguments对象能...

  • JS实现函数重载

    重载 做过后端的,可能有函数重载的概念 但是在JavaScript中不存在重载,如果方法名一样的话,后面的会把前面...

网友评论

      本文标题:JavaScript函数重载

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