Qidiruv algoritmi
Vazifa ikki qismdan iborat.
Bizning obyektimiz bor:
let head = {
glasses: 1,
};
let table = {
pen: 3,
};
let bed = {
sheet: 1,
pillow: 2,
};
let pockets = {
money: 2000,
};
__proto__dan foydalanib, prototiplarni har qanday xususiyatni qidirish yoâliga mos keladigan tarzda belgilang:pocketsâbedâtableâhead. Masalan,pockets.pen3(tableda topildi) vabed.glasses1(headda topildi) boâlishi kerak.- Savolga javob bering:
glassesnipockets.glassesyokihead.glassessifatida olish tezroq? Agar kerak boâlsa, benchmark.
-
__proto__qoâshaylik:let head = { glasses: 1, }; let table = { pen: 3, __proto__: head, }; let bed = { sheet: 1, pillow: 2, __proto__: table, }; let pockets = { money: 2000, __proto__: bed, }; alert(pockets.pen); // 3 alert(bed.glasses); // 1 alert(table.money); // undefined -
Zamonaviy interpretatorlarda, ishlash jihatidan, biz obyektdan yoki uning prototipidan xususiyatni olishi bilan farq qilmaydi. Ular xususiyat qayerdan topilganligini eslashadi va uni keyingi soârovda qayta ishlatadilar.
Masalan,
pockets.glassesuchun ularglasses(boshida) qayerdan topganlarini eslashadi va keyingi safar u yerda qidirishadi. Ular, shuningdek, biror narsa oâzgargan taqdirda ichki keshlarni yangilash uchun yetarlicha aqlli, shuning uchun optimallashtirish xavfsizdir.