<!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>