2013-07-21 35 views
-4

我想在運行時將代碼添加到函數中。 這可能嗎?這可能是僞代碼:在函數內部插入代碼?

function Insert_code(the_function) 
{ 
the_function=the_function+ My_code 
run the function using settimeout 
} 

當然,我不得不寫代碼來檢測的最後一個括號等。 任何想法?謝謝

+0

您想要添加什麼樣的代碼? –

+0

@tonnot首先 - 你爲什麼要這麼做?如果你想改變一個函數的行爲 - 爲什麼你不寫另一個? –

+0

'the_function'是什麼?它是一個實際的函數對象還是隻是一個字符串的名稱?你能把它改成一個字符串嗎?還是你需要它成爲一個函數對象? – Mario

回答

3

首先:這聽起來可能是不好的設計。想想你必須按照你的方式寫這篇文章!

第一種可能性;您的參數是一個實際的串與代碼內(例如insert_code('callme();');):

function insert_code(the_function) { 
    setTimeout(the_function + ';someadditionalcode();', 500); 
} 

第二種可能性;您的參數是實際功能(例如insert_code(callme);):

function insert_code(the_function) { 
    setTimeout(function() { 
      someadditionalcode(); 
      the_function(); 
     }, 500); 
}