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

Литералы объектов

Литерал объекта– это заключённый в фигурные скобки список парсвойство:выражение, разделённых запятымиСвойствоуказывается своим именем, а егозначениемстановится значение указанного после двоеточия выражения. Вообще, значением свойства может бытьлюбое значение(в том числе иundefined). Порядок свойств в литерале не существенен. Можно создавать и пустой литерал –{}, чтобы потом определить в нём свойства и их значения. Как и у массивов, два одинаковых литерала объекта создают два разных объекта с одинаковыми свойствами и их значениями, но с разными ссылками.

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

ЛитералОбъекта→ {Свойства}

СвойстваИдентификатор:Выражение ,Свойства

Пример: литерал

{num: "F12C75",

person: {family:"Иванов", name:"Иван"},

age: Age,

cats: ["Рыжик", "Толстый", "Жу-Жу"]}

представляет структуру данных «Член общества любителей кошек». Его значения и смысл свойств перечислены в таблице.

Свойство

Значение

Смысл

num

Строка F12C75

Регистрационный номер

person

Ссылка на объект, изображённый литералом

{family:"Иванов",name:"Иван"}

Фамилия и имя (удобно объединить их в одну запись)

age

Значение переменной Age. Если переменная не была определена, то выдаётся ошибка

Возраст лица

cats

Массив из трёх элементов.

Список его котов

Вместо имён котов, можно было включить три объекта с информацией о котах.

На рис. 2.10 изображено представление этой структуры в памяти.

Рисунок 2.10. Представление в памяти сложной записи.

1.5. Операции и выражения

Операции– это некоторые базовые, простейшие функции, которые, будучи применены к своим операндам, выдают некоторый результат9.Операндыирезультатоперации – это значения определённых типов. По количеству операндов операции в языкеJavaScriptделятся на унарные (с одним операндом), бинарные (с двумя операндами) и тернарные (одна операция с тремя операндами.

Обозначение операции называется знакомоперации или простооперацией, тем более это обозначение часто состоит из нескольких знаков и даже слов. Унарная операция называетсяпрефиксной, если она записывается перед своим операндом, ипостфиксной, если она записывается после операнда.

В программировании очень важно знать, для каких типов операндов применима данная операция и каков будет тип её результата. В JavaScript, если операция неприменима к данным значениям, она выдаётundefined, или Infinity или NaN.

Рассмотрим следующие группы операций языка JavaScript, выделяя их по типу данных, с которыми они работают:

  • арифметические (+ - * / %),

  • строковые (+),

  • сравнения (== === != !== < > <= >=),

  • логические (! || &&),

  • компонентные ([] .),

  • присваивания (= += -= *= /= %= ++ --),

  • другие операции (?: typeof new).

Арифметические операции

Операция

Результат

Примеры

число + число

Сумма чисел

числочисло

Разность чисел

число * число

Произведение чисел

число / число

Точное частное от деления

5/3 даст 1.66…67

число % число

Остаток от деления целых чисел

5%3 даст 2

+ число

То же число

- число

То же число, но с противоположным знаком

Операция сложения вычисляет сумму только тогда, когда значения операндов являются числами, или логическими значениями, или null(которые преобразуются в числа 1 или 0). В противном случае она исполняется, как конкатенация строк (если это возможно, см. ниже). Остальные арифметические операции значения операндов, не являющиеся числами, пытаютсяпривестик числам по определённым правилам. Например, строка"123"и массивы[123]и["123"]приводится к числу 123. Правила приведения очень сложны, и мы их не приводим, так как считаем, что лучше, по возможности, избегать подобных ситуаций.

Арифметические операции всегда выдают числовые значения (кроме операции +, когда она трактуется как строковая операция). При получении в результате слишком большого (по абсолютной величине) числа или при делении на 0 операции выдают значение Infinityили-Infinity(бесконечность). При делении 0 на 0 или при невозможности привести операнды к числам выдаётся значениеNaN(«не число»).InfinityиNaNтакже считаются числовыми значениями.

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