خوارزمية بحث
ينقسم هذا التمرين إلى قسمين.
لديك الكائنات التالية:
let head = {
glasses: 1
};
let table = {
pen: 3
};
let bed = {
sheet: 1,
pillow: 2
};
let pockets = {
money: 2000
};
- استعمل
__proto__لإسناد كائنات النموذج الأولي بحيث يكون البحث عن الخاصيات بهذه الطريقة:pocketsثمّbedثمّtableثمّhead(من الأسفل إلى الأعلى على التتالي). فمثلًا، قيمةpockets.penتكون3(منtable)، وقيمةbed.glassesتكون1(منhead). - أجِب عن هذا السؤال: ما الأسرع، أن نجلب
glassesهكذاpockets.glassesأم هكذاhead.glasses؟ قِس أداء كلّ واحدة لو لزم.
-
لنُضيف خاصيات
__proto__: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 -
حين نتكلّم عن المحرّكات الحديثة، فليس هناك فرق (من ناحية الأداء) لو أخذنا الخاصية من الكائن أو من النموذج الأولي، فهي تتذكّر مكان الخاصية وتُعيد استعمالها عند طلبها ثانيةً.
فمثلًا ستتذكّر التعليمة pockets.glasses بأنّها وجدت glasses في كائن head، وفي المرة التالية ستبحث هناك مباشرة. كما أنّها ذكية لتُحدّث ذاكرتها الداخلية ما إن يتغيّر شيء ما لذا فإن الأداء الأمثل في أمان.