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下均输出索引所在的字符


jsdb下把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));
}

你可能感兴趣的:(JavaScript,C++,c,IE,Opera)