Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
93-101.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
35.52 Кб
Скачать
  1. Як визначається об'єкт Function? у чому відмінність функції, створеної за допомогою ключового слова new, від функції, створеної за допомогою ключового слова function

Функцию в JavaScript можно также создать как объект типа Function с помощью следующего предложения:

var имя-функции = new Function(параметр-1, параметр-2, ..., параметр-n, тело-функции)

Последним в списке параметров конструктора Function всегда является тело-функции (если функция не имеет параметров, то тело-функции – единственный параметр конструктора).

Объект типа Function можно также создать с помощью прямого вызова функции-конструктора (без ключевого слова new).

И первый, и второй способ создания функции являются равнозначными, однако в первом способе имя функции является константой, а во втором – именем объектной переменной типа Function.

  1. Як в JavaScript виконується звертання до функції зі змінним числом аргументів?

Для объекта Function определен также объект типа Array с именем arguments. Этот объект, доступный только в теле функции, позволяет обрабатывать вызов функции для разного количества аргументов.

Свойство length объекта arguments содержит количество аргументов, переданных в функцию при текущем вызове, а сам объект содержит массив аргументов, переданных в функцию при текущем вызове.

  1. Як в JavaScript визначається об'єкт типу Object? у чому відмінність об'єктного типу Object від інших типів об'єктів?

Объект Object обеспечивает свойства и методы, общие для всех встроенных объектных типов JavaScript. Предложение создания объекта типа Object имеет следующий синтаксис:

var имя-переменной = new Object(значение);

Значение, задаваемое в конструкторе, может быть базового типа (числовое, строковое или булевское). Если значение является объектом, то объект возвращается без изменения. Если значение равно null, undefined или не задано, возвращается объект без содержимого. Объект Object можно также создать прямым вызовом функции-конструктора Object.

Как уже говорилось, в JavaScript нет понятия родительского класса и наследования. Вместо него введено понятие контейнера и, по терминологии JavaScript объект Object содержится во всех других встроенных объектах языка. Поэтому свойства и функции объекта Object можно использовать (за некоторыми исключениями), во всех встроенных объектах JavaScript (в некоторых объектных типах методы Object могут быть переопределены в соответствии со спецификой данного объекта).

  1. Як створюється користувальницький об'єктний тип в JavaScript й як створюється новий екземпляр об'єктного типу?

Описание такого конструктора, как и любой другой функции, начинается с ключевого слова function, затем с большой буквы указывается имя функции-конструктора, которое должно совпадать с именем объекта. На самом деле, это имя и будет именем объекта.

1

// javascript создание объектов (построение функции-конструктора)

2

   

3

function ObjName() {

4

                     // объявление свойст и методов объекта

5

                   }

Как видите, объявленная функция-конструктор ничем не отличается от формата обычной функции. В теле конструктора записываются выражения, объявляющие его свойства и методы. На заметку: желательно указывать имя конструктора с большой буквы (негласное соглашение между программистами).

Для того, чтобы создать пользовательскому объекту новое свойство мы пропишем в теле конструктора ключевое слово this, после которого поставим точку и объявим свойству имя, а затем присвоим свойству новое значение. В качестве примера создадим объект, представляющий машину:

// javascript создание объектов (создаем функцию-конструктор МАШИНЫ)

2

   

3

function Car() {

4

                this.mark = 'BMW';      // марка машины

5

                this.model ='318i';     // модель автомобиля

6

                this.color = 'black';   // цвет авто

7

                this.ny = 2010;         // год выпуска

8

                this.status = true;     // состояние (значение boolen: true - новая)

9

               }

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