奇怪的行为,我只是发布这个问题,看看是否有人知道这个的原因或我的代码是否完全错误:
string text = "~"; //yip, let's take some weird character
alert(text[0]);
//all major browsers output "~"
//IE6 & 7: undefined
alert(text.charAt(0));
//works in all browsers
现在我的问题是:使用文本作为IE7中不支持的数组,一般代码是否错误,使用.charAt(i)
代替string[i]
是否可以?
PS:关于这一点,有some guy who answered his own question。我的问题仍然存在:这在哪里记录?这是一个常规的IE“bug”吗?
答案 0 :(得分:8)
在ECMAScript 3中访问字符串数组不是标准的:
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String#section_5
类似数组的字符访问(上面的第二种方式)不属于 ECMAScript 3.它是一个JavaScript和ECMAScript 5功能。
你要做的是拆分字符串:
var textChars = text.split('');
alert(textChars[0]);