<button onclick="alert('Спасибо')">Щелкни на мнe</button>
3.2.2. Управляющие последовательности в строковых литералах
Символ обратного слэша (\) имеет специальное назначение в JavaScript-строках. Вместе с символами, следующими за ним, он обозначает символ, не представимый внутри строки другими способами. Например, \n - это управляющая последовательность (escape sequence), обозначающая символ перевода строки.
Другой пример, упомянутый выше, - это последовательность \', обозначающая символ одинарной кавычки. Эта управляющая последовательность необходима для включения символа одинарной кавычки в строковый литерал, заключенный в одинарные кавычки. Теперь становится понятно, почему мы называем эти последовательности управляющими - здесь символ обратного слэша позволяет управлять интерпретацией символа одинарной кавычки. Вместо того чтобы отмечать ею конец строки, мы используем ее как апостроф:
'You\'re right, it can\'t be a quote'
В табл. 3.1 перечислены управляющие последовательности JavaScript и обозначаемые ими символы. Две управляющие последовательности являются обобщенными; они могут применяться для представления любого символа путем указания кода символа из набора Latin-І или Unicode в виде шестнадцатеричного числа. Например, последовательность \хА9 обозначает символ копирайта, который в кодировке Latin-І имеет шестнадцатеричный код А9. Аналогично управляющая последовательность, начинающаяся с символов \и, обозначает произвольный символ Юникода, заданный четырьмя шестнадцатеричными цифрами. Например, \u03c0 обозначает символ л.
Если символ «\» предшествует любому символу, отличному от приведенных в табл. 3.1, обратный слэш просто игнорируется (хотя будущие версии могут, конечно, определять новые управляющие последовательности). Например, \# - это то же самое, что и #. Наконец, как отмечалось выше, стандарт ECMAScript 5 позволяет добавлять в многострочные строковые литералы символ обратного слэша перед разрывом строки.
| Таблица 3.1. Управляющие последовательности JavaScript | |
|---|---|
| Последовательность | Представляемый символ |
| \о | Символ NUL (\u0000) |
| \Ь | «Забой» (\u0008) |
| \t | Горизонтальная табуляция (\u0009) |
| \n | Перевод строки (\u000А) |
| \v | Вертикальная табуляция (\u000В) |
| \f | Перевод страницы (\u000С) |
| \r | Возврат каретки (\u000D) |
| \" | Двойная кавычка (\u0022) |
| \' | Одинарная кавычка (\u0027) |
| \\ | Обратный слэш (\u005C) |
| \хХХ | Символ Latin-1, заданный двумя шестнадцатеричными цифрами XX |
| \uxXXXX | Символ Unicode, заданный четырьмя шестнадцатеричными цифрами хххх |
3.2.3. Работа со строками
Одной из встроенных возможностей JavaScript является способность конкатенировать строки. Если оператор + применяется к числам, они складываются, а если к строкам - они объединяются, при этом вторая строка добавляется в конец первой. Например:
msg = "Hello, " + "world"; // Получается строка "Hello, world"
greeting = "Добро пожаловать на мою домашнюю страницу," + " " + name;
Для определения длины строки - количества содержащихся в ней 16-битных значений - используется свойство строки length. Например, длину строки s можно получить следующим образом:
s.length
Кроме того, в дополнение к свойству length строки имеют множество методов (как обычно, более полную информацию ищите в справочном разделе):
var s = "hello, world" // Начнем с того же текста.