Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЯП-Лекция 02.docx
Скачиваний:
17
Добавлен:
11.06.2015
Размер:
349.33 Кб
Скачать

Строковые литералы

В языке JavaScriptлитерал строки– это строка, взятая вкавычки("Строка") илиапострофы('Строка'), обозначающие начало и конец строки. Строка может быть пустая (литерал""или''). Литерал строки должен полностью размещаться в одной строке текста программы.

В литерале строки символ \(обратный слэш) используется не сам по себе, а для указания, как понимать следующие за ним символы. Правила его использования приведены в таблице 2.2.

Таблица 2.2.

Использование символа \ в литералах строк

Символы литерала

Символы строки

Примеры

Примечания

\"

"

"Яхта \"Стрела\"" – литерал строки Яхта "Стрела".

Ту же строку можно было записать литералом 'Яхта "Стрела"'

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

\'

'

'Яхта \'Стрела\'' – литерал строки Яхта 'Стрела'.

Ту же строку можно было записать литералом "Яхта 'Стрела'"

\\

\

"Ленин \\Ульянов\\" – литерал строки Ленин \Ульянов\

\xDD

Здесь D – шестнадцатеричная цифра (1-9, A-F)

Символ, шестнадцатеричный ASCII-код которого равен DD

Символы литерала \хА9 обозначают символ строки ©.

Символы литерала \хС4 обозначают символ строки Ä.

Применяется, когда символов нет на клавиатуре. Коды символов можно получить, например, в Word’е, используя меню Вставка/Символ.

\uDDDD

Здесь D – шестнадцатеричная цифра

Символ, шестнадцатеричный код которого в кодировке Unicode равен DDDD

Символы литерала \u00А9 обозначают символ строки ©.

Символы литерала \u00С4 обозначают символ строки Ä.

\n

Переход на новую строку

alert('111\n222') напечатает две строки:

111

222

Применяются вместо ASCII-кодов символов новая строка и табуляция.

\t

Символ табуляции, вызывающий отступ на фиксированную позицию

alert('i\tiii\nMMM\tMM') напечатает две строки:

i iii

MMM MM

Применяется для отступов и таблиц.

Формальный синтаксис:

Строка= "СимволыСтроки" │ ' СимволыСтроки'

СимволыСтрокиСимволСтрокиСимволыСтроки

СимволСтрокиСимвол | Спецсимвол

Символ→ любой символ буквенно-цифровой клавиатуры и ПРОБЕЛ

Спецсимвол → \" │ \' │ \\ │ \n │ \t │ \xХХ │ \uХХХХ

ХЦифра16

При вводе строк нельзя использовать клавиши EnterиTab.

Литералы массивов

Литерал массивасодержит в квадратных скобках перечень его элементов (в порядке индексации). Элементы задаютсявыражениями(см. ниже) и отделяются друг от друга запятой. Запятые определяют количество элементов массива, а выражения – значения элементов. Допускается отсутствие любого количества выражений («пустые места»). Тогда значения соответствующих элементов считаются неопределёнными (значениеundefined).

Например, следующий литерал

[1+2,"Чепуха!",,["1+2",],5]

изображает массив, элементы которого перечислены в таблице:

Индекс элемента

Значение элемента

0

Число 3 (значение выражения 1+2)

1

Строка Чепуха!

2

Значение undefined

3

Массив из двух элементов, заданный литералом ["1+2",]. Его первый элемент – строка 1+2 (а не число), значение второго элемента не опреде­лено (undefined).

4

Число 5

Формальный синтаксис:

ЛитералМассива→ [Элементы]

Элементы→ Выражение ,Элементы

Для каждого литерала массива в памяти создаётся отдельное представление. Поэтому два одинаковых литералаопределяют два массива с одинаковыми элементами, но занимающих разные места в памяти и имеющих разные ссылки. Поэтому они считаютсяразными массивами. Так, в результате выполнения операторов

x=[1,2]; y =[1,2]

создаётся два разных массива с одинаковыми элементами. Так что значения переменных xиy(ссылки на массивы) будут различны.

В результате же выполнения операторов

x=[1,2]; y=x

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

На рис. 2.9 изображено представление рассмотренного выше массива.

Рисунок 2.9. Представление в памяти массива [1+2,"Чепуха!",,["1+2",],5].

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]