var obj = eval("{'test':123}"); //报错
alert(obj);
var obj = eval("({'test':123})");//正确
alert(obj);
加一对园括号让{ }先强制运算为object
没有括号,eval会认为{}是语句块,因为javascript是语句优先,因此eval后得到的是
"test1":"1","test2":"2",....
这在alert中显然是错误的
var obj = eval("{'test':123}"); //报错
alert(obj);
var obj = eval("({'test':123})");//正确
alert(obj);