<script type="text/ecmascript">
var obj ={
"first-name" : "12:20",    //这属性没错.  但要怎么调用
date:"2010-9-2"
};

alert(obj.date + "\n"+obj."first-name");
</script>obj."first-name"  怎么无法调用这个属性 

解决方案 »

  1.   

    alert(obj.date + "\n"+obj["first-name"]);
      

  2.   

    还有你命名 规范一点用
    var obj ={
                "firstName" : "12:20",    //这属性没错.  但要怎么调用
                date:"2010-9-2"
        };
    alert(obj.firstName +"\n"+obj["firstName"]);这样不容易出错
      

  3.   

    那个命名是错的。-根本就不允许出现在命名中。而楼主硬给命称加个引号,又何必呢,更增加了问题。直接用firstName就是了。DOM操作本身就是驼峰式命名,比如CSS里的z-index,在DOM操作时就要变成style.zIndex。
      

  4.   

    定义json的名称,例如对象的名字是“"first-name”,好像有个操作符,告诉JavaScript引擎当前的字符串是到哪儿的,但是具体是哪个符号忘记了,楼主可以google下。btw:一般json中不这么定义变量,如果要这么定义的话,说明这种命名方式有问题。
      

  5.   

    obj["first-name"]
    或者
    obj.first-name  
    都可以