JavaScript对象,属性名可以不用引号么? 本帖最后由 thewallhz 于 2014-05-23 01:08:49 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 标准格式的json是需要加引号的 如果是json就必须加引号的 如果只是个js的对象可以不加 json是字符表示的对象,不还是对象么:( json是字符表示的对象,不还是对象么:(不一样。一般json(非jsonp)是通过ajax方式以字符串的形态读取的,它是字符串,虽然它的格式和js的对象很相像。一般是用window.JSON.parse方法以处理字符串的方式创建js对象。这就对json的格式要求很严格、不加引号在有的浏览器中用 window.JSON.parse 方法就会出错 写对象字面量时,在属性名不包含特殊字符时,无需加引号,使用中为方便及好看一般也是不加引号的;作为字符串格式(json)时,属性名是要加引号的,不然你就只能用eval解析了(不规范也不安全),大多数json解析函数都是要校验格式的 亲,大名鼎鼎的requirejs肿么都不用引号:( 上图可以看到,大名鼎鼎的requirejs居然都不用引号,这是否说明,我们平时可以不使用单引号呢? http://img.itc.cn/photo/oTUQn2qbWDE怎么回事,图片上传,显示被删除:(碉堡了截图看上面链接吧 属性中如果出现了“-”符号,那么就必须要有引号,并且在引用的时候必须是obj["属性名称"]这样使用。var obj = {"a-b":1,a:2};alert(obj["a-b"]);alert(obj.a);alert(obj["a"]); 如果你只是在javascript里面用,那么不加引号没啥 但是你想把它作为标准JSON数据传递给其他语言用的话,必须得加引号先声明,标准json格式,只是恰好和javascript的对象语法一样,但json是一个标准,被很多语言所支持 自己写的时候,可以不写引号,只是要作为json返回数据的时候,要写上引号? 如果key出现不规则字符变量,那解析的时候会出错,为了安全起见,还是需要加上引号。 1、不加引号是惯例,加引号是规则,不是强制执行的2、一般理解:加引号的是串,不加引号的是变量但是这个例子就出幺蛾子了a = 'b';p = {a:1};alert(p.b); //undefinedp[a] = 2;alert(p.b); //2可见 js 解析器并没有遵守规则 javascript对象正常情况下可以不加,但是有些情况是你不得不加引号,比如中间有空格的情况,或者有其它情况a={a b:1} //报错a={'a b':1} //正常a={1a:1} //报错a={'1a':1} //正常 如何判断一个动态加载的JS,是否加载完毕啊,等着掉他里面的方法呢 关于this关键字 和setInterval的问题 求助!~AJAX动态插入多个内容到网页中的代码详细写法 菜鸟提问 ASP/JAVASCRIPT代码格式化工具 求一个JS验证输入时间合法性的函数??? 如何获取一个对象(按钮/图片……)距离Web窗口的高度? prompt 函数使用方法 阿信?还有其它高手呢?今天用了200分了,问题没有解决!!! 关于使用Jquery实用全选的问题 ===========Ext2.0 分页 碰到的问题 ========================= 【求教】JQ 的鼠标移入
如果只是个js的对象可以不加
一般是用window.JSON.parse方法以处理字符串的方式创建js对象。这就对json的格式要求很严格、
不加引号在有的浏览器中用 window.JSON.parse 方法就会出错
作为字符串格式(json)时,属性名是要加引号的,不然你就只能用eval解析了(不规范也不安全),大多数json解析函数都是要校验格式的
亲,大名鼎鼎的requirejs肿么都不用引号:(
上图可以看到,大名鼎鼎的requirejs居然都不用引号,这是否说明,我们平时可以不使用单引号呢?
截图看上面链接吧
var obj = {"a-b":1,a:2};
alert(obj["a-b"]);
alert(obj.a);
alert(obj["a"]);
但是你想把它作为标准JSON数据传递给其他语言用的话,必须得加引号
先声明,标准json格式,只是恰好和javascript的对象语法一样,但json是一个标准,被很多语言所支持
2、一般理解:加引号的是串,不加引号的是变量
但是这个例子就出幺蛾子了a = 'b';
p = {a:1};
alert(p.b); //undefined
p[a] = 2;
alert(p.b); //2可见 js 解析器并没有遵守规则
比如中间有空格的情况,或者有其它情况
a={a b:1} //报错
a={'a b':1} //正常a={1a:1} //报错
a={'1a':1} //正常