JS---eval、JSON.parse的使用

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

猜你喜欢

转载自www.cnblogs.com/beast-king/p/9241662.html