日期:2014-05-16  浏览次数:20455 次

js这样定义是数组还是对象?
JScript code

<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 此时是什么

------解决方案--------------------
数组也是一种对象,这个数组对象有3个自定义属性,属性不属于数组元素
------解决方案--------------------
怎么说呢 数组是一种特殊的对象,其中一点表现在数组有length属性,而一般的对象没有
但数组也是对象
------解决方案--------------------
数组吧
------解决方案--------------------
你要不使用数组,按纯对象来使用,你可以
var myAry=new Object啊
------解决方案--------------------
数组是一种特殊的对象
------解决方案--------------------
var fn = function(){}
可以把它想像成一个类。
fn["aa"] = "AAA";相当于fn.aa = "AAA";
这个aa属性就算是类属性,只有类名本身可以调用。
而Array既然可以new,那就把它想像成function来理解这样的定义方式吧。
------解决方案--------------------
数组也是对象

添加数组元素

数组[索引]=值
或者 数组.push(值);
------解决方案--------------------
键值对儿
------解决方案--------------------
数组本身就是对象,所以你可以给他动态增加3个属性a、b、c