1. 程式人生 > 其它 >JS eval(data)和eval(“(“+data+“)“)的使用區別

JS eval(data)和eval(“(“+data+“)“)的使用區別

技術標籤:JavaScript

1 eval(data)

eval(data)只支援將格式為"[{\"name\":\"123\"}]"的字串轉換為json物件。

var strJson2="[{\"name\":\"123\"}]";
var json2=eval(strJson2);

除錯結果:

2 eval("("+data+")")

eval("("+data+")")支援"{\"name\":\"123\"}"和"[{\"name\":\"123\"}]"兩種格式的字串轉換為json物件。

var strJson1="{\"name\":\"123\"}";
var strJson2="[{\"name\":\"123\"}]";
var json1=eval("("+strJson1+")");
var json3=eval("("+strJson2+")");

除錯結果:

注: eval(data)是不能將"[{\"name\":\"123\"}]"兩種格式的字串轉換為json物件的,會報Uncaught SyntaxError: Unexpected token ':'

錯誤。