JavaScript遍历String

一段小代码
var strt = "alfa";
for(var index = 0, jk = strt.length; index < jk; index++) {
alert(index + "___" + strt[index]);
}


在IE8下面strt[index]为undefined
在FF3.6,Chromium4.0,Opera9.26和jsdb下均输出索引所在的字符


[url="http://www.jsdb.org/"]jsdb[/url]下把alert()函数改为println()函数,如下
var strt = "alfa";
for(var index = 0, jk = strt.length; index < jk; index++) {
println(index + "___" + strt[index]);
}


而这样的写法
var strb = "test";
for(var ii in strb) {
alert(ii + "___" + strb[ii]);
}

在IE和Opera下没有任何输出
在FF,C和jsdb下均可以正常遍历出字符

var strb = "test";
for(var ii in strb) {
println(ii + "___" + strb[ii]);
}

要想在所有情况下都能用的话,就只能用String的标准函数charAt()来代替str[i]
用常规索引的方式遍历
var strt = "imok";
for(var index = 0, jk = strt.length; index < jk; index++) {
alert(index + "___" + strt.charAt(index));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值