<script language="JavaScript">
<!--
var myAry=new Array();
myAry["a"]="AAA";
myAry["b"]="BBB";
myAry["c"]="CCC";
alert(myAry.c);
alert(myAry.length);
//-->
</script>
这是什么定义方式本以为是数组,可length我0.    它可以用.c 类的形式来访问myAry 此时是什么

解决方案 »

  1.   

    本帖最后由 net_lover 于 2012-08-01 22:20:19 编辑
      

  2.   


    为什么不干脆 var myAry=new Object;
      

  3.   

    怎么说呢  数组是一种特殊的对象,其中一点表现在数组有length属性,而一般的对象没有
    但数组也是对象
      

  4.   

    你要不使用数组,按纯对象来使用,你可以
    var myAry=new Object啊
      

  5.   

    var fn = function(){}
    可以把它想像成一个类。
    fn["aa"] = "AAA";相当于fn.aa = "AAA";
    这个aa属性就算是类属性,只有类名本身可以调用。
    而Array既然可以new,那就把它想像成function来理解这样的定义方式吧。
      

  6.   

    数组也是对象添加数组元素数组[索引]=值
    或者 数组.push(值);
      

  7.   

    数组本身就是对象,所以你可以给他动态增加3个属性a、b、c