Сборка от 17 марта 2017 г



Download 9,9 Mb.
bet235/349
Sana26.04.2022
Hajmi9,9 Mb.
#582433
TuriУчебник
1   ...   231   232   233   234   235   236   237   238   ...   349
Bog'liq
ilja kantor sovremennyj uchebnik-1chast PdfToWord

При создании объекта через new , в его прототип proto записывается ссылка из prototype функции‑конструктора.

Например, код ниже полностью аналогичен предыдущему, но работает всегда и везде:


var animal = { eats: true


};

function Rabbit(name) { this.name = name;


}
Rabbit.prototype = animal;


var rabbit = new Rabbit("Кроль"); // rabbit. proto == animal alert( rabbit.eats ); // true

Установка Rabbit.prototype = animal буквально говорит интерпретатору следующее: "При создании объекта через new Rabbit запиши ему proto


= animal ".




Свойство constructor


У каждой функции по умолчанию уже есть свойство prototype . Оно содержит объект такого вида:


function Rabbit() {}


Rabbit.prototype = { constructor: Rabbit


};

В коде выше я создал Rabbit.prototype вручную, но ровно такой же – генерируется автоматически. Проверим:


function Rabbit() {}


// в Rabbit.prototype есть одно свойство: constructor


alert( Object.getOwnPropertyNames(Rabbit.prototype) ); // constructor

// оно равно Rabbit


alert( Rabbit.prototype.constructor == Rabbit ); // true

Можно его использовать для создания объекта с тем же конструктором, что и данный:


function Rabbit(name) { this.name = name; alert( name );
}

var rabbit = new Rabbit("Кроль");


var rabbit2 = new rabbit.constructor("Крольчиха");


Эта возможность бывает полезна, когда, получив объект, мы не знаем в точности, какой у него был конструктор (например, сделан вне нашего кода), а нужно создать такой же.






Download 9,9 Mb.

Do'stlaringiz bilan baham:
1   ...   231   232   233   234   235   236   237   238   ...   349




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