javascript的eval函数的优点是什么?只知道是将括号内的字符串当JS语句处理。请通俗举例说明其用途和优点
2个回答
展开全部
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"
}
}
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"
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询