Знакомство с css



Download 0,88 Mb.
bet24/46
Sana15.04.2022
Hajmi0,88 Mb.
#552991
TuriТесты
1   ...   20   21   22   23   24   25   26   27   ...   46
Bog'liq
ТЕКСТ ЛЕКЦИИ ВЕБ нью

Создание объектов

В JavaScript объекты можно создавать либо при помощи оператора new, указывая функцию-конструктор объектов определенного типа, либо с помощью литеральной нотации, используя инициализаторы объектов.




Создание объектов в литеральной нотации


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

{ prop_1 : val_1, prop_2 : val_2, ... ,prop_N : val_N }




Здесь prop_1, prop_2, prop_N — имена свойств объекта, а val_1, val_2, val_N — значения этих свойств. Значениями свойств могут являться переменные, константы, литералы (в том числе литералы функций, мас- сивов, объектов). Если в качестве значения свойства задан литерал функции либо ее идентификатор, то данное свойство будет являться методом объекта. Далее приведен пример создания объекта в литеральной нотации. Обратите внимание на способы определения методов объекта.


function f( )
{ return this.property_1 + this.property_2[1]; }


var myObject =
{
property_1: 10, // свойство с числовым значением property_2: [1, 2, 3],
// свойство со значением "массив"


Method_1 : f, // метод № 1
Method_2 : // метод № 2
function()
{ return this.Method_1() + 10 }
}


Создание объектов оператором new. Конструкторы объектов.


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


function Point(x, y)
{
this.x = x || 0;
this.y = y || 0;


this.Offset =
function(dx, dy)

{
this.x += dx;


this.y += dy;
}
}


var pt = new Point(0, 10);
pt.Offset(5, 6);


Как видно из примера, конструктор Point специфицирует два свойства объекта — x и y, а также один метод Offset. Затем создается объект pt типа Point при помощи оператора new и производится вызов метода Offset.

В конструкторе Point используется специальный синтаксис для присвоения значений по умолчанию свойствам x и y (например, x || 0). Здесь 0 — значение по умолчанию. Механизм работы данного метода заключается в особенности исполнения операции "ИЛИ" (||) в JavaScript. Эта операция возвращает значение первого аргумента, если оно конвертируется в true, или второго, если это не так.


Наряду с конструкторами встроенных объектов (таких как String, Date), ядро JavaScript содержит конструктор объектов, не имеющих свойств Object. Его удобно использовать для создания "объектов-пустышек", к которым впоследствии могут быть добавлены необходимые свойства и методы. Например:




var obj = new Object();
obj.x = 10;


В ряде случаев может возникнуть необходимость добавления свойств, либо методов к уже специфицированному типу объектов (как добавлять свойства к отдельно взятому объекту, рассматривалось ранее). Это мо- жет быть сделано при помощи свойства prototype. При этом добавлен- ные свойства и методы будут присутствовать как у всех созданных до этого, так и у всех вновь создаваемых объектов этого типа. Продолжив предыдущий пример, добавим типу объектов Point метод SetToOrigin, а затем вызовем этот метод для объекта pt:


Point.prototype.SetToOrigin = function()
{
this.x = this.y = 0;
};
pt.SetToOrigin( );


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



Download 0,88 Mb.

Do'stlaringiz bilan baham:
1   ...   20   21   22   23   24   25   26   27   ...   46




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish