29 th

September,2010 | JavaScript

JavaScript中eval()函数的一些问题

Tags: ,

首先先来简单介绍一下eval()的用法,它还是比较容易理解的,相信很多朋友都已经熟悉。eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。

另外,因此自己在项目实践过程中,因为解析JSON格式数据的时候,发现对于对象声明语法“{}”的并不能返回一个值,需要用括号括起来才会返回值。
例如:

  1. var oo='"abc" + 123';
  2. var xx='{a:123}';
  3. alert(eval(oo));     //abc123
  4. alert(eval(xx));     //undefined
  5. alert(eval('(' + xx + ')'));    //object对象

因此,在获取Json字符串的时候如果要将其解析为对象,必须用括号括住,才能将其转换为表达式,并返回其值。

Interesting? … Continue Reading… »