Мастер-классы по Javascript, AJAX/COMET, jQuery Узнать больше...
Javascript.RU

String

Создание

a = 'my string'
b = new String(object) // синтаксис устарел и не используется
c = String(object)

Аргументы

string - Необязательный. Любая группа знаков Юникода.


Описание, примеры

Объекты String, как правило, создаются неявно с помощью строковых литералов.

// кавычки любые - без разницы
var str = "string literal"

В строковых литералах можно использовать escape-последовательности для представления особых знаков, которые нельзя напрямую использовать в строках, например символа перевода строки или знаков Юникода. При компиляции сценария каждая escape-последовательность в строковом литерале преобразуется в знаки, которые она представляет.

Можно указать юникодный символ явным образом, через его код.

var str = "\u1234"

Объекты String, заданные через кавычки (и называемые "примитивными" строками), немного отличаются от объектов String, созданных с помощью оператора new. Так, например, типом (typeof) данных объекта, созданного при помощи new, является 'object', а не 'string'. И такому объекту можно напрямую назначать дополнительные свойства и методы. В остальном - интерпретатор автоматически превращает примитивные строки в объекты.

"12345".length // 5

Доступ к символам

Доступ к символам осуществляется при помощи метода String#charAt

return 'cat'.charAt(1); // возвратит "a"

Также существует отсутствующий в стандарте ECMA-262 способ - обращение к строке как к массиву:

var str = 'cat'
return str[1] // "a"

В отличие от языков C/PHP/и т.п., однажды созданную строку нельзя изменить: символы можно только считывать, но не менять.

Для изменения строковой переменной применяется присваивание измененной строки:

str = "строка"
str = str.charAt(4) + str.charAt(5) + str.charAt(6) // "ока"

Сравнение строк

Для сравнения строк используются обычные операторы < >.


Методы

split
substr
charCodeAt
String.fromCharCode
charAt
concat
lastIndexOf
search
match
replace
slice
toLowerCase
toUpperCase
toLocaleLowerCase
toLocaleUpperCase
toString
valueOf
substring
indexOf

Свойства

length

Автор: x-yuri, дата: 24 сентября, 2009 - 13:44
#permalink

> Также существует отсутствующий в стандарте ECMA-262 способ - обращение к строке как к массиву

но он не везде работает


Автор: Cooskon, дата: 27 февраля, 2010 - 20:09
#permalink

Илья, добавьте, пожалуйста, в статью, что нельзя изменить конкретный символ в строке, и что для этого, соответственно, нет встроенных функций. Долго искал об этом информацию, пока на форуме не подсказали. Пусть и другие не спотыкаются об это


Автор: Гость (не зарегистрирован), дата: 12 июля, 2010 - 14:05
#permalink

Будьте добры, проясните работу со строками в HTML коде, закодированными, как обычно, в UTF-8. Потому что, к примеру, сравнение document.title=="Искомая страница" НЕ сработает до тех пор, пока сам скрипт с этим сравнением не сохранен в формате UTF-8. Я нигде данных об этом не встречал, нашел решение по интуиции чисто.


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
1 + 13 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Вакансии
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Статьи и мероприятия

Будьте в курсе наших последних новостей!

Последние обсуждения на форуме
Forum
Последние комментарии