JavaScript. Подробное руководство, 6-е издание, стр. 33
<b>var side = 1;</b><b>var square = { "upperLeft": { x: p.x, y: p.y },</b><b>'lowerRight': { x: p.x + side, y: p.y + side}};</b>Мы еще вернемся к инициализаторам объектов и массивов в главах 6 и 7.
4.3. Выражения определений функций
определения функции является «литералом функции» подобно тому, как инициализаторы объектов являются «литералами объектов». Выражение определения функции обычно состоит из ключевого слова function, за которым следует список из нуля или более идентификаторов (имен параметров), разделенных запятыми, в круглых скобках и блок программного кода на языке JavaScript (тело функции) в фигурных скобках. Например:
<b>// Эта функция возвращает квадрат переданного ей значения</b><b>var square = function(x) { return x * x; }</b>Выражение определения функции также может включать имя функции. Кроме того, функции можно определять с помощью инструкции function, вместо выражения определения функции. Подробное описание особенностей определения функций приводится в главе 8.
4.4. Выражения обращения к свойствам
Выражение обращения к свойству вычисляет значение свойства объекта или элемента массива. В языке JavaScript имеется два способа обращения к свойствам:
выражение . идентификатор выражение [ выражение ]
Первый способ обращения к свойствам заключается в использовании выражения, за которым следуют точка и идентификатор. Выражение определяет объект, а идентификатор - имя требуемого свойства. Первый способ заключается в использовании выражения (объект или массив), за которым следует другое выражение, заключенное в квадратные скобки. Второе выражение определяет имя требуемого свойства или индекс элемента массива. Ниже приводится несколько конкретных примеров:
<b>var о = {x:1,y:{z:3}}; // Пример объекта</b><b>var а = [о,4, [5,6]]; // Пример массива, содержащего объект</b><b>о.х //свойство x выражения o</b><b>о.у.z //свойство z выражения o.y</b><b>о["х"] //свойство x объекта o</b><b>а[1] // элемент с индексом 1 выражения а</b><b>а[2]["1"] // элемент с индексом 1 выражения а[2]</b><b> а[0].х //свойство x выражения а[0]</b>Независимо от способа обращения к свойству первым вычисляется выражение, стоящее перед . или [. Если значением этого выражения является
<b>null</b><b>undefined</b><b>ТуреЕггог</b>Из двух способов обращения к свойству синтаксис
<b>.идентификатор</b>Подробнее об объектах и их свойствах рассказывается в главе 6, а массивы и их элементы обсуждаются в главе 7.
4.5. Выражения вызова
Выражение вызова в языке JavaScript служит для вызова (или выполнения) функции или метода. Оно начинается с выражения, возвращающего функцию, идентифицирующего вызываемую функцию. Вслед за выражением получения функции следуют открывающая круглая скобка, список из нуля или более выражений аргументов, разделенных запятыми, и закрывающая круглая скобка. Например:
<b>f(0) // f - выражение функции; 0 - выражение аргумента.</b><b>Math.max(x,у,z) // Math.max - функция; x, у и z - аргументы.</b><b>a.sort() // a.sort - функция; здесь нет аргументов.</b>При вычислении выражения вызова первым вычисляется выражение, возвращающее функцию, а затем вычисляются выражения аргументов и создается список значений аргументов. Если значением выражения, возвращающего функцию, не является вызываемый объект, возбуждается исключение
<b>ТуреЕггог</b><b>return</b><b>undefined</b>Все выражения вызова включают пару круглых скобок и выражение перед открывающей круглой скобкой. Если это выражение является выражением обращения к свойству, такой вызов называется вызовом метода. При вызове метода объект или массив, к свойству которого производится обращение, становится значением параметра this, доступного в теле функции во время его выполнения. Это обеспечивает поддержку парадигмы объектно-ориентированного программирования, согласно которой функции (в ООП обычно называются «методами») получают возможность манипулировать объектом, частью которого они являются. Подробности приводятся в главе 9.