日期:2014-05-16  浏览次数:20306 次

为什么 JSON格式的名字部分加引号?
为什么 JSON格式的名字部分加引号?

因为eval函数会将{foo:”bar”}解释成合法的JavaScript语句,而非表达式。但是人们往往想要的是让eval将这段代码解释成一个对象。所以JSON格式会强制在名字的外侧加上引号再结合圆括号,这样eval就不会错误的将JSON解释成代码块。

举例说明

    eval错误解析语义

    alert(eval('{foo:"bar"}'));      // return "bar", incorrect


    eval正确解析JSON

    alert(eval('({"foo": "bar"})')); // return JSON object, correct