鍍金池/ 問答/HTML/ javascript 怎樣向一個已有函數(shù)中追加內(nèi)容

javascript 怎樣向一個已有函數(shù)中追加內(nèi)容

javascript 怎樣向一個已有函數(shù)中追加內(nèi)容
回答
編輯回答
瘋子范

javascript裝飾模式了解一下?
不修改原函數(shù)的情況下為函數(shù)添加其他函數(shù)。

2017年3月17日 07:59
編輯回答
柒喵

不知道題主,是不是想問這個:

    function test(a,b,c = '默認'){
        if(c !== '默認'){
            // 如果c傳值進來 就執(zhí)行c回調(diào)函數(shù),或者其他的 
            // 這樣可以完成,但還是要預(yù)先在外界定義函數(shù),或者在函數(shù)內(nèi)定義要做的事情。
            c(); 
        }
        // do something
    }
    test.add = function (){
       console.log('do something2')
    }
2017年7月1日 05:10
編輯回答
近義詞

如果不能修改原函數(shù), 就很困難了

2018年2月14日 23:14
編輯回答
做不到

題目沒描述清楚要追加什么。
第一,如果要追加 屬性或者方法,那么直接添加就好了,畢竟 Funciton也是Object類型
第二,如果想保持已有函數(shù)功能,增強自定義函數(shù)代碼,可重寫函數(shù)

if(fnName){
    var oldFn = fnName;
    fnName = function (){
        //do yourself something
        olfFn()
        //do yourself something
    }
}
2017年1月10日 15:21
編輯回答
別硬撐
function test(){
// some code
}
var newTest = test.toString().split(''); // 轉(zhuǎn)換為字符數(shù)組
newTest.splice(newTest.length-1, 0 ,'// new code'); //加入新的代碼
newTest.push('test();'); //執(zhí)行內(nèi)部函數(shù)
newTest = new Function(newTest.join('')); // 轉(zhuǎn)換為函數(shù)
2017年8月30日 02:28