本帖最后由 thewallhz 于 2014-05-23 01:08:49 编辑

解决方案 »

  1.   

    标准格式的json是需要加引号的
      

  2.   

    如果是json就必须加引号的 
    如果只是个js的对象可以不加
      

  3.   

    json是字符表示的对象,不还是对象么:(
      

  4.   

    json是字符表示的对象,不还是对象么:(不一样。一般json(非jsonp)是通过ajax方式以字符串的形态读取的,它是字符串,虽然它的格式和js的对象很相像。
    一般是用window.JSON.parse方法以处理字符串的方式创建js对象。这就对json的格式要求很严格、
    不加引号在有的浏览器中用 window.JSON.parse 方法就会出错
      

  5.   

    写对象字面量时,在属性名不包含特殊字符时,无需加引号,使用中为方便及好看一般也是不加引号的;
    作为字符串格式(json)时,属性名是要加引号的,不然你就只能用eval解析了(不规范也不安全),大多数json解析函数都是要校验格式的
      

  6.   


    亲,大名鼎鼎的requirejs肿么都不用引号:(
      

  7.   


    上图可以看到,大名鼎鼎的requirejs居然都不用引号,这是否说明,我们平时可以不使用单引号呢?
      

  8.   

    http://img.itc.cn/photo/oTUQn2qbWDE怎么回事,图片上传,显示被删除:(碉堡了
    截图看上面链接吧
      

  9.   

    属性中如果出现了“-”符号,那么就必须要有引号,并且在引用的时候必须是obj["属性名称"]这样使用。
    var obj = {"a-b":1,a:2};
    alert(obj["a-b"]);
    alert(obj.a);
    alert(obj["a"]);
      

  10.   

    如果你只是在javascript里面用,那么不加引号没啥
      但是你想把它作为标准JSON数据传递给其他语言用的话,必须得加引号
    先声明,标准json格式,只是恰好和javascript的对象语法一样,但json是一个标准,被很多语言所支持
      

  11.   

    自己写的时候,可以不写引号,只是要作为json返回数据的时候,要写上引号?
      

  12.   

    如果key出现不规则字符变量,那解析的时候会出错,为了安全起见,还是需要加上引号。
      

  13.   

    1、不加引号是惯例,加引号是规则,不是强制执行的
    2、一般理解:加引号的是串,不加引号的是变量
    但是这个例子就出幺蛾子了a = 'b';
    p = {a:1};
    alert(p.b); //undefined
    p[a] = 2;
    alert(p.b); //2可见 js 解析器并没有遵守规则
      

  14.   

    javascript对象正常情况下可以不加,但是有些情况是你不得不加引号,
    比如中间有空格的情况,或者有其它情况
    a={a b:1} //报错
    a={'a b':1} //正常a={1a:1} //报错
    a={'1a':1} //正常