<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> //将表达式形式的字符串转换成表达式 var exp_str='1+2'; console.log(eval(exp_str)); //将对象形式的字符串转换成json对象 var json_str='{name:"zyz",age:19}'; //console.log(eval(json_str));//Uncaught SyntaxError: Unexpected token : //说明:出现这种错误是因为解释器会认为{}是代码块,而认为'name:'是一个语句标记,后面应该是语句。现在出现了':',所以会报错。 //改进后: console.log(eval('('+json_str+')'));//{name: "zyz", age: 19} //说明:json形式的字符串使用eval转换为json对象时,需要外面用括号包起来,再转换。 //使用JSON.parse转换 var json_str2='{"name":"zyz","age":19}'; console.log(JSON.parse(json_str2));//{name: "zyz", age: 19} //说明:使用JSON.parse转换的话,就要求json字符串里面的key需要用双引号包起来。 </script> </html>