Javascript中数组的使用问题

var values=new Array();
values["No1"]="beijing";
values["No2"]="tianjin";
values["No3"]="shanghai";
values["No4"]="guangzhou";
alert("values="+values);

//下面的for循环无法进入,因为数组下标是字符串,在计算数组长度时得到的是0!!!!

for(var i=0; i<values.length; i++)
{
alert("item="+i+" value="+values[i]);
}

for(var item in values)
{

alert("item="+item+" value="+values[item]);
values.splice(0, 1);    //不会起作用,因为splice删除只能是用数字做下标。
break;
}
alert(values.length);
alert(values["No1"]);

结论:在使用javascript数组时,尽量不要使用带下标的赋值方式,这样的后果很难预料。上面的代码如果增加一句values["101"]="taian";得到的values.length将会是102。

 

posted @ 2013-04-09 18:00  imlucky  阅读(240)  评论(0编辑  收藏  举报