IE7 Javascript并使用字符串作为数组

Den*_*s G 5 javascript arrays string internet-explorer

奇怪的行为,我只是发布这个问题,看看是否有人知道这个的原因或我的代码是否是完全错误的:

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
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:使用文本作为IE7中不支持的数组,代码是错误的一般是否可以使用.charAt(i)而不是string[i]

PS:有一些人正确地回答了他自己的问题.我的问题仍然存在:这在哪里记录?这是一个常规的IE"bug"吗?

Did*_*hys 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]);
Run Code Online (Sandbox Code Playgroud)