日期:2014-05-16  浏览次数:20367 次

javascript动态调用function的问题,请帮忙
想实现通过一个参数传入javascript函数名,然后执行这个函数
如:
function   runJSfunction(strFunctionName)
{
//运行名为strFunctionName的函数,用什么关键字??
运行   strFunctionName
}

请支招,谢谢

------解决方案--------------------
function runJSfunction(strFunctionName)
{
strFunctionName();
}

------解决方案--------------------
<html>
<title> </title>
<script language=javascript>
function aa()
{
for(i=0;i <form1.int1.value;i++)
{
intext = document.createElement( " <input name= 'text "+i+ " '> ");
document.form1.appendChild(intext);
}
}
function runJSfunction(strFunctionName)
{
eval(strFunctionName+ "() ");
}
</script>
<body>
<form name= "form1 " ID= "Form1 ">
<input type= "text " name= "int1 " ID= "Text1 ">
<input type= "button " name= "b1 " value= "生成 " onclick= "runJSfunction( 'aa '); " ID= "Button1 ">
</form>
</body>
</html>
看看这个例子
------解决方案--------------------
function callBack(functionName)
{
if(typeof(functionName)== 'string ')
eval(functionName);
else
functionName();
}
------解决方案--------------------

function callBack(functionName)
{
if(typeof(functionName)== 'string ')
eval(functionName);
else
functionName();
}

function Alert()
{
alert( 'sdfsdf ');
}
callBack( "alert( 'sdfsdf ') ");

callBack(Alert);