javascript 怎样向一个已有函数中追加内容

Olivia
  • 110
javascript 怎样向一个已有函数中追加内容
回复
阅读 2.9k
5 个回答

如果不能修改原函数, 就很困难了

题目没描述清楚要追加什么。
第一,如果要追加 属性或者方法,那么直接添加就好了,毕竟 Funciton也是Object类型
第二,如果想保持已有函数功能,增强自定义函数代码,可重写函数

if(fnName){
    var oldFn = fnName;
    fnName = function (){
        //do yourself something
        olfFn()
        //do yourself something
    }
}

不知道题主,是不是想问这个:

    function test(a,b,c = '默认'){
        if(c !== '默认'){
            // 如果c传值进来 就执行c回调函数,或者其他的 
            // 这样可以完成,但还是要预先在外界定义函数,或者在函数内定义要做的事情。
            c(); 
        }
        // do something
    }
    test.add = function (){
       console.log('do something2')
    }
function test(){
// some code
}
var newTest = test.toString().split(''); // 转换为字符数组
newTest.splice(newTest.length-1, 0 ,'// new code'); //加入新的代码
newTest.push('test();'); //执行内部函数
newTest = new Function(newTest.join('')); // 转换为函数

javascript装饰模式了解一下?
不修改原函数的情况下为函数添加其他函数。

你知道吗?

宣传栏