Подтвердить что ты не робот

Строка символов доступа JavaScript в виде массива

Можно ли это сделать:

var myString="Hello!";
alert(myString[0]); // shows "H" in an alert window

Или это должно быть сделано либо с charAt (0), либо с substr (0,1)? Под "это нормально" я имею в виду, будет ли он работать в большинстве браузеров, есть ли рекомендация по лучшей практике, которая говорит иначе и т.д.

Спасибо.

4b9b3361

Ответ 1

Использование charAt является, пожалуй, лучшей идеей, поскольку она наиболее точно передает намерение вашего кода. Вызов substr для одного символа определенно является излишним.

alert(myString.charAt(0));

Ответ 2

Доступ к символам в виде числовых свойств строки нестандартный до ECMAScript 5 и не работает во всех браузерах (например, он не работает в IE 6 или 7). Вы должны использовать myString.charAt(0) вместо этого, когда ваш код должен работать в средах, отличных от ECMAScript 5. Кроме того, если вы хотите получить доступ к большому количеству символов в строке, вы можете превратить строку в массив символов, используя метод split():

var myString = "Hello!";
var strChars = myString.split("");
alert(strChars[0]);