<html>
<head>
<script language="javascript">
function aa(){
var s=new Array(3);
s[0]=new Array();
s[0]['aa']="aa";
s[0]['bb']="bb";
alert(s[0][0]);
}
</script>
</head>
<body onload="aa()"></body>
<html>
我是不理解,为什么s[0]['aa']与s[0][0]不会等价,它们所读取的地址不是一样的吗
请晓得的抽些时间帮我解惑。PS:小弟分少,只能给认为答案最正确的20分。不好意思了
先谢谢每个会来留言的人。

解决方案 »

  1.   

    s[0]['aa'] = "aa" 相当于s[0].aa = "aa" 是设置s[0]的属性.
      

  2.   

    s[0][0]指数组s的第一项s[0]的第一项s[0]["aa"]指数组s的第一项(s[0])的属性"aa"
      

  3.   


    可是属性的设置不是{属性名:属性值}吗
    怎么s[0]["aa"]也可以呢
      

  4.   

    属性的设置还有一个方法是
    var a={};
    a.A="";
    a.B="";不知道原来还可以s[0]["aa"]这样来。
    学得太少。。
      

  5.   

    js没有多维数组
    s[0]是另一个对象
    s[1]又是另一个对象
      

  6.   

    同理是不是
    s[0][0]是一个对象
    s[0]['aa']又是另一个对象?
      

  7.   

    s[0]是一个数组
    数组使用下标访问访问是数组内的元素
    同时数组也是对象所有对象都有属性
    通过obj[key]访问其属性
    数组重载了其中的int
    int之外的key还是设置数组属性
    而int是数组元素