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。