IE7 Javascript и использование строки в качестве массива - PullRequest
5 голосов
/ 06 декабря 2011

Странное поведение, и я просто публикую этот вопрос, чтобы узнать, знает ли кто-нибудь причину этого или мой код просто неверен:

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: есть парень, который ответил на свой вопрос именно об этом. Мой вопрос остается: где это задокументировано? Это обычная ошибка IE?

1 Ответ

8 голосов
/ 06 декабря 2011

Доступ к строковому массиву не является стандартным в 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]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...