本文實例分析了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程序設計有所幫助。