Пример 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Объекты</title> </head> <body> <script> // Объявление объекта var polzovatel = { nomer: 2, login: 'ivan', parol: 'ldJ4h72Gb' }; /* Выводится: Номер: 2 Логин: ivan Пароль: ldJ4h72Gb */ alert('Номер: ' + polzovatel.nomer + '\nЛогин: ' + polzovatel.login + '\nПароль: ' + polzovatel.parol); </script> </body> </html> |
При создании объекта в фигурных скобках (“{” и “}”) записываются свойства с их значениями через запятую. Свойства и их значения отделены двоеточиями. Значениями могут быть логические значения, числа, строки, массивы, другие объекты и функции. Функции-значения записываются без имени.
После создания объекта чтобы получить значение его свойства, нужно записать имя объекта, потом точку и в конце свойство.
Пример 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Объекты</title> </head> <body> <script> // Объявление объекта var polzovatel = { 'nomer': 2, 'login': 'ivan', 'parol': 'ldJ4h72Gb', 'imia i familia': 'Иван Петров' }; /* Выводится: Номер: 2 Логин: ivan Пароль: ldJ4h72Gb Имя и фамилия: Иван Петров */ alert('Номер: ' + polzovatel['nomer'] + '\nЛогин: ' + polzovatel['login'] + '\nПароль: ' + polzovatel['parol'] + '\nИмя и фамилия: ' + polzovatel['imia i familia']); </script> </body> </html> |
В данном примере показано как при создании объекта имена свойств могут задаваться в виде строк. В этом случае в именах свойств могут быть пробелы. Также чтобы получить значение свойства объекта, можно записать имя объекта и потом в квадратных скобках (“[” и “]”) строку в кавычках с именем свойства.
Пример 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Объекты</title> </head> <body> <script> // Объявление объекта var polzovatel = {}; // Добавление свойств polzovatel.nomer = 2; polzovatel['login'] = 'ivan'; polzovatel.parol = 'ldJ4h72Gb'; // Удаление свойства delete polzovatel.login; // Объявление списка свойств var stroka = ''; // Перебор свойств объекта for(var svoistvo in polzovatel) // Добавление к списку свойства и значения stroka += svoistvo + ': ' + polzovatel[svoistvo] + '\n'; /* Выводится: nomer: 2 parol: ldJ4h72Gb */ alert(stroka); </script> </body> </html> |
В данном примере объявляется пустой объект “polzovatel”. Потом ему добавляются свойства. Свойство можно добавить объекту присвоив ему какое либо значение. Для этого нужно записать имя объекта, точку, имя нового свойства, знак равно и значение свойства. Далее у объекта “polzovatel” удаляется свойство. Чтобы удалить свойство, нужно записать “delete “, имя объекта, точку и имя удаляемого свойства.
Дальше в данном примере происходит перебор свойств у объекта и добавление их имён со значениями в строковую переменную. Перебор свойств у объекта осуществляет конструкция “for(var s in o) k;”, где “s” – переменная, которая при переборе содержит текущее свойство; “o” – объект; “k” – команда или блок, внутри которого “s” – текущее свойство, а “o[s]” – значение этого свойства.
В конце примера выводится строка содержащая список свойств и их значений.
Пример 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Объекты</title> </head> <body> <script> // Объявление объекта var polzovatel = { nomer: 2, login: 'ivan', parol: 'ldJ4h72Gb', telephoni: [9847564, 4657483, 8574610], pokazat: function() { var tel = ''; for(var i = 0; i < this.telephoni.length; i++) tel += this.telephoni[i] + '; '; alert('Номер: ' + this.nomer + '\nЛогин: ' + this.login + '\nПароль: ' + this.parol + '\nТелефоны: ' + tel); } }; /* Выводится: Номер: 2 Логин: ivan Пароль: ldJ4h72Gb Телефоны: 9847564; 4657483; 8574610; */ polzovatel.pokazat(); </script> </body> </html> |
В данном примере в объявлении объекта “polzovatel” указывается массив “telephoni” и функция “pokazat”. Объявленные в объекте функции называются методами. При объявлении метода имя не указывается, но у метода могут быть параметры. Доступ внутри метода к свойствам объекта происходит через конструкцию “this.”. При вызове метода записывается имя объекта, точка, имя метода и круглые скобки (“(” и “)”). В скобках могут быть значения параметров метода.
Пример 5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Объекты</title> </head> <body> <script> // Функция для создания объекта - конструктор function Polzovatel(nomer, login, parol) { this.nomer = nomer; this.login = login; this.parol = parol; this.pokazat = function() { alert('Номер: ' + this.nomer + '\nЛогин: ' + this.login + '\nПароль: ' + this.parol); } } // Создание объектов с помощью конструктора var ivan = new Polzovatel(2, 'ivan', 'ldJ4h72Gb'); var petr = new Polzovatel(4, 'petr', 'kf9s143Jd'); /* Выводится: Номер: 2 Логин: ivan Пароль: ldJ4h72Gb */ ivan.pokazat(); /* Выводится: Номер: 4 Логин: petr Пароль: kf9s143Jd */ petr.pokazat(); </script> </body> </html> |
Объявляется функция-конструктор “Polzovatel”, которая создаёт объект, используя ключевое слово “this”. “this” ссылается на объект. Внутри метода “pokazat” тоже используется “this”.
Потом создаются 2 объекта. Для создания объекта нужно записать имя переменной, которая будет содержать объект; знак равно; слово ” new “; имя функции-конструктора с круглыми скобками, в которых могут содержаться значения параметров.
В конце примера данные объектов выводятся с помощью метода “pokazat”.