zoukankan      html  css  js  c++  java
  • 关于 eval 的报错 Uncaught ReferenceError: False is not defined

    var obj ={'id': 16, 'name': '管理员', 'delflag': False, 'grade': 1000000.0}
    VM3614:1 Uncaught ReferenceError: False is not defined
    at <anonymous>:1:47
    (anonymous) @ VM3614:1
    var obj
    undefined
    obj ={'id': 16, 'name': '管理员', 'delflag': False, 'grade': 1000000.0}
    VM3633:1 Uncaught ReferenceError: False is not defined
    at <anonymous>:1:43
    (anonymous) @ VM3633:1
    obj = "{'id': 16, 'name': '管理员', 'delflag': False, 'grade': 1000000.0}"
    "{'id': 16, 'name': '管理员', 'delflag': False, 'grade': 1000000.0}"
    alert(obj)
    undefined
    var oo =eval("("+obj+")")
    VM3699:1 Uncaught ReferenceError: False is not defined
    at eval (eval at <anonymous> ((index):1), <anonymous>:1:39)
    at <anonymous>:1:9
    (anonymous) @ VM3699:1
    (anonymous) @ VM3698:1
    var oo =eval(obj)
    VM3724:1 Uncaught SyntaxError: Unexpected token :
    at <anonymous>:1:14
    (anonymous) @ VM3723:1
    obj
    "{'id': 16, 'name': '管理员', 'delflag': False, 'grade': 1000000.0}"
    typeof obj
    "string"
    obj ={'id': 16, 'name': '管理员', 'delflag': False, 'grade': 1000000.0}
    VM3755:1 Uncaught ReferenceError: False is not defined
    at <anonymous>:1:43
    (anonymous) @ VM3755:1
    obj ={'id': 16, 'name': '管理员', 'grade': 1000000.0}
    {id: 16, name: "管理员", grade: 1000000}
    alert(obj)
    undefined
    var test =eval("("+obj+")")
    VM3847:1 Uncaught SyntaxError: Unexpected identifier
    at <anonymous>:1:23
    (anonymous) @ VM3846:1
    var test =eval("("+"obj"+")")
    undefined
    typeof test
    "object"
    alert(test)
    undefined

    原因是:字典里存储了一个False的变量,js无法识别,SO  报错,

    更重要的是,因为不是正规的json格式,所以会报错,正规的 key 是必须要有双引号的。(即使是单引号也不行。)

    错误代码:

    var res = "[{id:1,name:'liming'},{id:2,name:'xiaobai'}]";
    var objRes = JSON.parse(res);
    console.log(objRes)
    1
    2
    3
    正确代码:

    var res = '[{"id":1,"name":"liming"},{"id":2,"name":"xiaobai"}]';
    var objRes = JSON.parse(res);
    console.log(objRes)


     

  • 相关阅读:
    es组合多个条件进行查询
    Sidecar模式:下一代微服务架构的关键
    排查python内存泄露中几个工具的使用
    Consul的反熵
    我的Linux操作系统的发行版是什么?版本号是什么?
    如何确定一台linux主机是Linux (i386/i686)还是Linux (x86_64)
    如何确定Isilon cluster的网卡类型是40GbE的还是10GbE的
    如何确定Isilon里的磁盘是多大的?
    用SSH登录远程的机器,在远程机器上执行本地机器上的脚本
    关于EOF的使用的好文章
  • 原文地址:https://www.cnblogs.com/aashui/p/9941447.html
Copyright © 2011-2022 走看看