在JS中eval函数是什么意思

JavaScript026

在JS中eval函数是什么意思,第1张

它的功能是把对应的字符串解析成JS代码并运行

比如说你现在要运行一个可变的方法

function

name1(){……}

function

name2(){……}

var

m="name1"

eval(m+'()')//运行name1()

m='name2'

eval(m+'()')//运行name2()

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

作用是把对应的字符串解析成js代码并运行。eval()()是程序语言中的函数,功能是获取返回值,不同语言大同小异,函数基础是返回值= eval(codeString),如果eval函数在执行时遇到错误,则抛出异常给调用者。

如果eval函数在执行时遇到错误,则抛出异常给调用者。类似的函数是loadcode,loadcode不立即执行代码,另外返回一个函数对象。并且loadcode支持路径参数,评估不支持。评估不支持代码中的返回语句,将代码作为表达式直接计算出结果。

相关信息:

Eval函数在PHP代码中的用法:eval()函数把字符串按照PHP代码来计算。该字符串必须是合法的PHP代码,且必须以分号结尾。如果没有在代码字符串中调用返回语句,则返回NULL。如果代码中存在解析错误,则eval()函数返回false。

Eval函数在VBScript脚本语言中的使用:在VB脚本语言中,Eval函数具有两层英文,一是实现计算表达的值,即eval()函数可将字符串转换为代码执行,并返回一个或多个值;二是运行指定的代码。