本文實例分析了javascript針對不確定函數的執行方法。分享給大家供大家參考,具體如下:
在javascript中,有時候只知道一個函數的名字,但並不確定該函數有沒有,如何判斷該函數是否存在,並執行呢。一個方法是用eval() 執行拼接的程序字符串,但可能帶來性能問題。另一個方法是使用符號屬性的方式來訪問函數,因為函數都是window對象的屬性。
利用window[函數名] 來代表該function對象,用window[函數名]()來執行或調用該函數。
例子:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>新建網頁 1</title> </head> <body> <script language="javascript"> function input1_onChange(){ alert('input1_onChage executed.'); } var objId = 'input1'; if(window[objId +'_onChange']){ alert('There is the funtion'); }else{ alert('There is not the funtion'); } if(window[objId+'_onChange'] && typeof(window[objId+'_onChange'])=='function'){ window[objId+'_onChange'](); } var fun = window[objId+'_onChange']; if(fun && typeof(fun)=='function'){ fun(); } </script> </body> </html>
希望本文所述對大家JavaScript程序設計有所幫助。