1、字面量
(1)他们是固定的值,不是变量,让你从“字面上”理解脚本。
(2)字符串字面量是由双引号("")或单引号('')包围起来的零个或多个字符串组成的。
(3)对象字面量是由花括号({})括起来的零个或多个对象的属性(key-value对)。
2、何时是JSON,何时不是JSON
JSON是设计成描述数据交换格式的,他也有自己的语法,这是语法是JavaScript的子集。
{"proporty":"value"}这样的声明可能是JavaScript对象字面量也可能是JSON字符串,取决于什么上下文使用它,如果是在string上下文(用单引号或双引号引起来,或者从text文件读取)的话,那么它就是JSON字符串,如果是在对象字面量上下文中,那它就是对象字面量。
// 这是JSON字符串 var str = '{"proporty": "value"}'; // 这是对象字面量 var obj = {"proporty": "value"};
而且要注意,JSON有非常严格的语法,在string上下文里{"proporty": "value"}是个合法的JSON,但{proporty: "value"}和{'proporty': 'value'}确实不合法。所有属性名称和它的值都必须用双引号括起来,不能使用单引号。另外,即使你用了转义以后的单引号也是不合法的,详细的语法规则可以到这里查看。