javascript对象字面量 问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 07:33:37
请问下:我这样写
var key2={
'ww':'ee',
'tt':'rr'
}
alert(key2.ww);
是对的

而如果这样:
var 'aa'="这样定义变量行吗?";
alert(aa);
就会报错。

为什么?在对象字面量中 属性可以加上单引号,使用时不带带引号?
为什么而我在 定义一个变量,变量名不能加上单引号?
难道javascript在对对象字面量的属性名字进行解释忽略大小写,而对定义的变量不忽略?
上面最后一行写错了

难道javascript在对对象字面量的属性名字进行解释忽略 单引号(不是大小写) ,而对定义的变量不忽略?

var 后面跟的是一个对像,对像不可以加引号,加了引号后,'aa'就成了一个字符串了,那一个常量,也就是不加引号,aa就是一个代号,加了就是指aa这两个字母组成的字符串

常量不需要声明,常量的值不能改变,所以
1 var 'aa',这样写错误,
2 'aa'="这样定义变量行吗?"; 错误
3 所以如果按上面写的 var 'key2' 就错

var key2,key2是对像,
里面写'aa',这里的aa是对象的属性名称,可以加引号,也可以不加,也就是你所说的 忽略单引号

//如果你理解String类型 数据类型,那请按下面方式理解,

'aa'其实是一个String 类型对象,你不能给对像赋值,你只能给对像的属性赋值,比如上面的key2,可以这样的操作:
key2.ww="haha,我给你赋值";//可以,

String 类型对象是javascript语言本身已经存在的系统对象,
还有 Date,Array等

javascript中用双引号或单引号括起来会被认为是字符常量,定义变量是不能加引号的;
上面之所以正确,是因为他定义的是一个json对象,那是一种轻量级数据交换格式。key2也是不能加引号的.

javascript是区分大小写的,变量、常量、包括json中都是,你可以用下列代码测试一下:

var key2 = {
'ww': 'ee',
'WW': 'rr'
}
alert(key2.ww);
alert(key2.WW);

对象里面的属性不用引号也行,好像没规定一定得用吧。
但引用时一定没有引号。

var key2={
ww:'ee',