var obj1 = {name: "costa"};
var obj1 = {"name": "costa"};
第二个对象的属性名也用了字符类型,和第一种写法一样吗? 

解决方案 »

  1.   

    /**
    这种对象属性key必须符合javascript变量名声明标准,
    即英文字母或_开头,带字母数字下划线。
    */
    var obj1 = {name: "costa"};
    /**
    这种对象属性key可以是任意串
    */
    var obj1 = {"name": "costa"};
    var obj = {23abc@* : 'costa1'};//错误
    var obj = {'23abc@*' : 'costa2'};//不会错误
    alert(obj['23abc@*']);//costa2