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



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

Прототип после создания


важность: 5

В примерах ниже создаётся объект new Rabbit , а затем проводятся различные действия с prototype . Каковы будут результаты выполнения? Почему?


Начнём с этого кода. Что он выведет?

function Rabbit() {} Rabbit.prototype = {


eats: true
};

var rabbit = new Rabbit(); alert( rabbit.eats );


Добавили строку (выделена), что будет теперь?


function Rabbit() {} Rabbit.prototype = {


eats: true
};


var rabbit = new Rabbit(); Rabbit.prototype = {}; alert( rabbit.eats );

А если код будет такой? (заменена одна строка):


function Rabbit(name) {} Rabbit.prototype = {


eats: true
};


var rabbit = new Rabbit(); Rabbit.prototype.eats = false; alert( rabbit.eats );

А такой? (заменена одна строка)


function Rabbit(name) {} Rabbit.prototype = {


eats: true
};


var rabbit = new Rabbit(); delete rabbit.eats; // (*) alert( rabbit.eats );

И последний вариант:


function Rabbit(name) {} Rabbit.prototype = {


eats: true
};


var rabbit = new Rabbit();
delete Rabbit.prototype.eats; // (*)
alert( rabbit.eats );

К решению





Аргументы по умолчанию


важность: 4

Есть функция Menu , которая получает аргументы в виде объекта options :


/* options содержит настройки меню: width, height и т.п. */ function Menu(options) {


...
}

Ряд опций должны иметь значение по умолчанию. Мы могли бы проставить их напрямую в объекте options :


function Menu(options) {


options.width = options.width || 300; // по умолчанию ширина 300
...
}

…Но такие изменения могут привести к непредвиденным результатам, т.к. объект options может быть повторно использован во внешнем коде. Он передается в Menu для того, чтобы параметры из него читали, а не писали.


Один из способов безопасно назначить значения по умолчанию – скопировать все свойства options в локальные переменные и затем уже менять. Другой способ – клонировать options путём копирования всех свойств из него в новый объект, который уже изменяется.


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


К решению






Download 9,9 Mb.

Do'stlaringiz bilan baham:
1   ...   233   234   235   236   237   238   239   240   ...   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