js 函数重载

回眸只為那壹抹淺笑 提交于 2020-02-27 17:23:02
/*给某个对象添加方法的函数*/
    function addMethod(object, name, fn) {
        var old = object[name];
        //第一次old是 undefined
        object[name] = function() {
            //如果调用函数的参数长度等于fn的参数长度,那就返回当前函数
            if (fn.length == arguments.length) {
                return fn.apply(this, arguments);
            } else if (typeof old == 'function') {
            //如果当前的调用不匹配那么调用上一次的old,直到匹配为止
                return old.apply(this, arguments);
            }
        }
    }
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!