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



Download 9,9 Mb.
bet164/349
Sana26.04.2022
Hajmi9,9 Mb.
#582433
TuriУчебник
1   ...   160   161   162   163   164   165   166   167   ...   349
Bog'liq
ilja kantor sovremennyj uchebnik-1chast PdfToWord

Проверка синтаксиса


важность: 2

Каков будет результат этого кода?


var obj = {


go: function() { alert(this) }
}

(obj.go)()


P.S. Есть подвох :)


К решению





Почему this присваивается именно так?


важность: 3

Вызовы (1) и (2) в примере ниже работают не так, как (3) и (4) :


"use strict"


var obj, method; obj = {
go: function() { alert(this); }
};

obj.go(); // (1) object


(obj.go)(); // (2) object


(method = obj.go)(); // (3) undefined (obj.go || obj.stop)(); // (4) undefined


В чём дело? Объясните логику работы this .


К решению





Значение this в объявлении объекта


важность: 5

Что выведет alert в этом коде? Почему?


var user = {


firstName: "Василий",

export: this


};

alert( user.export.firstName );


К решению





Возврат this


важность: 5

Что выведет alert в этом коде? Почему?


var name = "";


var user = {


name: "Василий",

export: function() { return this;


}

};
alert( user.export().name );


К решению





Возврат объекта с this


важность: 5

Что выведет alert в этом коде? Почему?


var name = "";


var user = {


name: "Василий",

export: function() { return {


value: this
};
}

};


alert( user.export().value.name );

К решению





Создайте калькулятор


важность: 5

Создайте объект calculator с тремя методами:





  • read() запрашивает prompt два значения и сохраняет их как свойства объекта

  • sum() возвращает сумму этих двух значений

  • mul() возвращает произведение этих двух значений

var calculator = {


...ваш код...
}

calculator.read();


alert( calculator.sum() ); alert( calculator.mul() );

Запустить демо


Открыть песочницу с тестами для задачи.


К решению





Цепочка вызовов


важность: 2

Есть объект «лестница» ladder:


var ladder = { step: 0,


up: function() { // вверх по лестнице this.step++;
},
down: function() { // вниз по лестнице this.step‐‐;
},
showStep: function() { // вывести текущую ступеньку alert( this.step );
}
};

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


ladder.up();


ladder.up(); ladder.down(); ladder.showStep(); // 1

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


ladder.up().up().down().up().down().showStep(); // 1


Как видно, такая запись содержит «меньше букв» и может быть более наглядной.


Такой подход называется «чейнинг» (chaining) и используется, например, во фреймворке jQuery. К решению


Преобразование объектов: toString и valueOf


Ранее, в главе Преобразование типов для примитивов мы рассматривали преобразование типов для примитивов. Теперь добавим в нашу картину мира объекты.


Бывают операции, при которых объект должен быть преобразован в примитив. Например:

  • Строковое преобразование – если объект выводится через alert(obj) .

  • Численное преобразование – при арифметических операциях, сравнении с примитивом.

  • Логическое преобразование – при if(obj) и других логических операциях.

Рассмотрим эти преобразования по очереди.





Download 9,9 Mb.

Do'stlaringiz bilan baham:
1   ...   160   161   162   163   164   165   166   167   ...   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