关于javascript中的eval方法

JavaScript013

关于javascript中的eval方法,第1张

1.参考资料复制在下面了...

2. eval说白了..就是把你传入的字符串当一个javascript脚本执行了...然后再返回执行结果这就是为什么eval能将字符串解析成JSON对象的原因了

3. javascript语法之灵活...有时不可思议...如果你输入数字比如1这个eval把1当常量处理了...没错...但是你输入字符串没出错我没理解,你输入的字符串是什么样子的?判断语句如1===1 这也不会出错但如果输入如a==1我觉得会出错的...您再看看有问题我们探讨,我也在学习

开始我猜测第一个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控制对象的显示与隐藏.