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号,这个以知道,是自己定义的,上面的帮我理解一下吧,谢谢……
神啊……来个会的吧…… 展开
{
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号,这个以知道,是自己定义的,上面的帮我理解一下吧,谢谢……
神啊……来个会的吧…… 展开
3个回答
展开全部
开始我猜测第一个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控制对象的显示与隐藏.
于是我写了个测试方法,代码如下
<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控制对象的显示与隐藏.
展开全部
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
eval就是把
字符串
转成
可执行代码
。
例如:
eval("alert('test')");
字符串
转成
可执行代码
。
例如:
eval("alert('test')");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询