JS eval(data)和eval(“(“+data+“)“)的使用區別
阿新 • • 發佈:2021-01-04
技術標籤: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 ':'