最近熟悉了一下javascript,发现的确很强大。但是也很诡异。
javascript的下标竟然从1开始。不过还好我可以接受。但有时它又从0开始。疯了!
用过javascript的人都知道它的数组下标是可以从1开始。但是它有时也从0开始,看下面的代码
varstrr="1,2,3,4;5,6,7,8;"
functionstrSplit(str)
...{
varss=str.split(';');
for(variinss)
...{
varsss=ss[i].split(',');
if(sss!="")
...{
for(varj=0;j<sss.length;j++)//注意这里是从0开始的
...{
alert(sss[j]);
}
}
}
}
strSplit(strr);
如果从1下标开始,那就开始只打印2。
所以说javascript真好,可以充分锻炼自己的找bug与排除bug的能力。
所以以后大家数组定一定的时候一定要从0下标开始。
javascript的For...in可以蔽掉所有的undefine对象。嗯,这点很好。但是它可能并不按照数组的已有顺序!
下面是一个把元素插入到数组中代码
functioninsert(array,i,value)
...{
varindex=i;
for(;index<=array.length;index++)
...{
if(array[index]==null)
...{//这里是找到一个空位置
break;
}
}
for(varj=index;j>i;j--)
...{//这里把现有数组的元素向后移
array[j]=array[j-1];
}
array[i]=value;
}
varo=newArray;
o[1]=1;
o[3]=2;
insert(o,1,3);//在1的位置插入3
varstr="";
for(varxino)
...{
str+=o[x];
}
str+="!"
for(varx=1;x<o.length;x++)
...{
if(o[x]!=null)
str+=o[x]
}
alert(str);//打印结果是 321!312
本文探讨了JavaScript中数组下标从1开始的现象,展示了如何通过代码处理这一特性,并讨论了JavaScript遍历数组时可能出现的顺序问题。
2067

被折叠的 条评论
为什么被折叠?



