在JS中eval函数是什么意思

JavaScript011

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

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

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

function

name1(){……}

function

name2(){……}

var

m="name1"

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

m='name2'

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

这个是可以把字符串代码,直接当做js运行。

比如 var ss="alert(1)"

这个时候ss保存的是文本。

使用 eval(ss)这样就相当于,执行了ss里面的js语句。

常用语一些json数据的转换中。

比如ajax获取了服务器传过来的json数据,是字符串格式的 “{'2' , '3'}”, 通过eval(content),将其转换成js对象,就可以直接读取其中字段了。

json其实可以理解为字符串化的js对象,eval是执行一段一字符串方式存在的js代码。

所以调用eval其实就是把json这个字符串化的对象转成js的对象

不过,eval不安全,尽量少用eval。

json转对象,可以直接调用系统提供的JSON.parse()方法