js,eval函数。

functionmenu_tree(meval){varleft_n=eval(meval);if(left_n.style.display=="none"){eval(... function menu_tree(meval)
{
var left_n=eval(meval);
if (left_n.style.display=="none")
{ eval(meval+".style.display='';"); }
else
{ eval(meval+".style.display='none';"); }
}
麻烦帮忙解释上意思,我自己理解了一些,但是还不是很明白。实现的功能是,他是那个管理菜单,点一下没有了,在点一下,显示出来的那种 。
eval是一个内部的一个函数,是能运行一个JS代码,而且可以反回一个值, meval是个字符串,我只能看出一个这来 。javascript:menu_tree('left_2')
主要不明白的是这句left_2
这个是怎么来的,可以随便定义么?在页面代码中并没有找到。
left_2
是id号,这个以知道,是自己定义的,上面的帮我理解一下吧,谢谢……

神啊……来个会的吧……
展开
 我来答
sunyundonged
2009-10-05 · TA获得超过1477个赞
知道小有建树答主
回答量:318
采纳率:100%
帮助的人:367万
展开全部
开始我猜测第一个eval作用等同于getElementById,即通过一个id名获取DOM对象
于是我写了个测试方法,代码如下
<div id="left" onclick="ev('left')">haha</div>
<script type="text/javascript">
function ev(str){
alert(eval(str).innerHTML);
}
</script>
语句意思是点击对象,弹出含有id为left的对象的内部源码,经测试,结果正确.
推论,eval不但可以执行js语句,也可以用作获取对象的方法,他是否只能用作通过id获取对象我没做测试.期待你自行挖掘.

这样,对于你的源码就很好解释了,left_n就是获取的对象,left_n.style.display控制对象的显示与隐藏.
lyz810
2015-11-19 · 知道合伙人互联网行家
lyz810
知道合伙人互联网行家
采纳数:7531 获赞数:31779
前端开发工程师

向TA提问 私信TA
展开全部

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

语法:

eval(string)


参数说明:

string:必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。

返回值:

通过计算 string 得到的值(如果有的话)。

说明:

该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。

如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。

异常:


如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。

如果非法调用 eval(),则抛出 EvalError 异常。

如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。

提示:


虽然 eval() 的功能非常强大,但在实际使用中用到它的情况并不多。

示例1:

eval("2+3")	// 返回 5
var myeval = eval; // 可能会抛出 EvalError 异常
myeval("2+3"); // 可能会抛出 EvalError 异常

示例2:

eval("x=10;y=20;document.write(x*y)")
document.write(eval("2+2"))
var x=10
document.write(eval(x+17))

输出:

200
4
27

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魏璧郭芳春
2019-01-11 · TA获得超过4042个赞
知道大有可为答主
回答量:3049
采纳率:24%
帮助的人:416万
展开全部
eval就是把
字符串
转成
可执行代码

例如:
eval("alert('test')");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式