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