小马小宝贝
2015-12-12 15:43
用json后,为什么属性不用加单引号了呢?
并不清楚你提的是什么问题。。
正确的JSON是这样的:属性名必须用双引号包裹
var json = '{"name":"imooc"}'; // 这个是正确的JSON格式 var json = "{\"name\":\"imooc\"}"; // 这个也是正确的JSON格式 var json = '{name:"imooc"}'; // 这个是错误的JSON格式,因为属性名没有用双引号包裹 var json = "{'name':'imooc'}";//这个也是错误的JSON格式,属性名用双引号包裹,而它用了单引号 // 检验JSON格式是否正确,可以使用 JSON.parse(json); 如果是正确的JSON格式,会返回一个对象 // 否则会报错 // 如果是对象的话,属性名可以不用双引号包裹 var obj = {name:"imooc"}; var obj = {"name":"imooc"}; var obj = {'name':'imooc'}; var obj = {"name":'imooc'}; var obj = {'name':"imooc"}; // 上述写法都是正确的。一般使用第一种形式最多,有些人可能为了保证跟JSON格式的字符串保持一致性, // 也会使用第二种形式。。最后3种形式虽然是正确的,但不建议使用,容易挨打
第一种写法并不是json。。'width'是个字符串。。第二种写法{width:400}是一个对象(写法参见我的第一次回答),所以可以不用写引号。。明白否?
startMove(obj,'width',400); //不用json时是这样的 startMove(obj,{width:400}); //用json是这样的。为什么width不用加单引号了呢?
JS动画效果
113925 学习 · 1443 问题
相似问题