September,2010 | JavaScript
JavaScript中eval()函数的一些问题
首先先来简单介绍一下eval()的用法,它还是比较容易理解的,相信很多朋友都已经熟悉。eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。
另外,因此自己在项目实践过程中,因为解析JSON格式数据的时候,发现对于对象声明语法“{}”的并不能返回一个值,需要用括号括起来才会返回值。
例如:
-
var oo='"abc" + 123';
-
var xx='{a:123}';
-
alert(eval(oo)); //abc123
-
alert(eval(xx)); //undefined
-
alert(eval('(' + xx + ')')); //object对象
因此,在获取Json字符串的时候如果要将其解析为对象,必须用括号括住,才能将其转换为表达式,并返回其值。





