谢谢。

解决方案 »

  1.   

    几乎没有区别  var x = {};
        x["Name"] = "张三";
        x.age = 22;    alert(x.age);
        alert(x.Name);
        alert(x["age"]);
        alert(x["Name"]);
      

  2.   

    在JavaScript的学习过程中,我已经习惯了使用类似str.length,str.split(",")这样的点语法来引用对象的属性和方法,实际上引用一个属性(方法)有以下两种方法:
    1 对象名.属性(方法)名
    2 对象名["属性(方法)名"]
    所以str.length等价于str["length"];str.split(",")等价于str["split"](","),大部分情况下,两者使用起来没有区别,但在某些特殊情况下,选择哪一种可以带给我们很大的方便性。例如:看下面的例子 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
    <title>使用方括号[]引用对象的属性和方法</title>
    <script language="JavaScript" type="text/javascript">
    function getIt(obj){
    if(obj.selectedIndex != 0){
    alert(student[obj.value]);//方括号语法
    alert(eval("student." + obj.value));//点语法
    }
    }
    var student = new Object();
    student.name = "阿会楠";
    student.age = 22;
    </script>
    </head>
    <body>
    <select onchange="getIt(this)">
    <option>请选择</option>
    <option value="name">名字</option>
    <option value="age">年龄</option>
    </select>
    </body>
    </html>
    用方括号语法:student[obj.value]而用点语法:eval("student." + obj.value)
    显然这个例子中使用方括号比使用点语法来得方便,这个例子说明点语法并不适用于用字符串表示的属性和方法。
    另一个使用方括号的优点是,可以使用数字打头或者出现空格作为属性名。例如我们可以使用:student["my name"]这样的语句,而点语句是做不到这点的。
      

  3.   

    javascript对象就是关联数组
    对象属性访问法
    obj.xxx
    关联数组访问法
    obj[xxx]
      

  4.   

    不过obj[xxx]这个有好处..就是xxx是动态的时候..例如:
    var xxx="2";obj[xxx]这样就可以..但obj.xxx就不行的..
      

  5.   


    obj[]里面可以用变量
    obj.xx方便,可以少1个字符
      

  6.   


    有一点点区别obj.xxx // xxx只能是合法的标识符
    obj["xxx"] // xxx可以是任意字符obj.123 // error
    obj["123"] // 可以访问obj.. // error
    obj["."] // 可以访问