js高级——eval(不推荐使用)

1.eval是个函数,可以用来将字符串转换成js代码并且运行
2.注意一下JSON对象是有兼容性问题的
    eval()函数并不能直接把JSON字符串转化为一个js对象
    var jsonData = '{"name":"曹尼玛","age":18}' ;
    var o = eval (jsonData) ;
    console . log (o) ;
像上面这种用法就是错误的:
js高级——eval(不推荐使用)_第1张图片

原因:代码块问题,因为代码块是用{}括起来的

js高级——eval(不推荐使用)_第2张图片这么写没有问题

js高级——eval(不推荐使用)_第3张图片但是这么写是非法的


3.使用eval()来解析JSON格式字符串的时候会将大括号{]解析为代码块,而不是对象的字面量
(1)在JSON格式的字符串前面拼接上var o = “”
    var jsonData = '{"name":"啦啦啦啦","age":18}' ;
    eval ( "var o = " + jsonData) ;
    console . log (o) ;
js高级——eval(不推荐使用)_第4张图片


(2)把JSON格式的字符串使用()括起来就不会将大括号解析为代码块而是表达式了







你可能感兴趣的:(js高级——eval(不推荐使用))