javascript的eval函数的优点是什么?只知道是将括号内的字符串当JS语句处理。请通俗举例说明其用途和优点

2024-11-28 02:43:55
推荐回答(2个)
回答(1):

eval可以将字符串生成语句执行,一般执行动态的js语句。
eval的使用场合:有时候我们预先不知道要执行什么语句,只有当条件和参数给时才知道执行什么语句,这时候eval就派上用场了。
Eval 函数
功能:先解释Javascript代码,然后在执行它
用法:Eval(codeString)
codeString是包含有Javascript语句的字符串,在eval之后使用Javascript引擎编译。

举个例子:
function output(a,b)
{
var tmpa,tmpb;
tmpa=eval("document.all."+a+".value");
//这里动态执行js 相等于tmpa=document.getElementById(a).value;
tmpb=eval("document.all."+b+".value");
//这里动态执行js
//这里动态执行js 相等于tmpb=document.getElementById(b).value;
document.write(tmpa+tmpb);
}
output('input1','input2');

例子二:
function tophide(id) //id indicates menu
{
if (top.topframeset.rows == "31,*")
{
top.topframeset.rows = "86,*";
eval(id + "_icon.src="/imgs/collapse_up.gif'"); //这里动态执行js

eval(id + "_icon.alt='Collapse The Head'"); //这里动态执行js
head.style.display = "block"
}
else
{
top.topframeset.rows = "31,*";
eval(id + "_icon.src="/imgs/collapse_down.gif'");//这里动态执行js
eval(id + "_icon.alt='Expand The Head'");//这里动态执行js
head.style.display = "none"
}
}

回答(2):

这函数作用可大了去了。
比如你可以动态生成javascript代码什么的

没什么说服力呃~~等你用的时候就知道了