GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

No menu could be recovered. Follow the blue links in the page.

This view

  • Original page
  • New address

GeezerVison is showing id.javascript.info — Algoritma pencarian

  • Tutorial
  • Bahasa JavaScript
  • Prototypes, inheritance
  • Pewarisan *Prototype* (*Prototypal Inheritance*)
kembali ke pelajaran

Algoritma pencarian

Tugasnya memiliki dua bagian.

Diberikan objek-objek berikut:

let head = {
  glasses: 1
};

let table = {
  pen: 3
};

let bed = {
  sheet: 1,
  pillow: 2
};

let pockets = {
  money: 2000
};
  1. Gunakan __proto__ untuk memasukan prototype dengan cara yang mana membuat property yang mencari akan mengikuti path: pockets → bed → table → head. Contoh, pockets.pen haruslah 3 (ditemukan di table), dan bed.glasses haruslah 1 (ditemukan didalam head).
  2. Jawab pertanyaan: mana yang lebih cepat didapatkan glasses sebagai pockets.glasses atau head.glasses? Jika diperlukan gunakanlah benchmark.
  1. Let’s add __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
  2. Dalam mesin modern, kinerja yang bagus, tidak ada perbedaan apakan kita mengambil properti dari sebuah objek atau dari prototypenya. Mesinnya akan ingat darimana mengambil propertinya dan menggunakannya kembali pada request selanjutnya.

    Contoh, untuk pockets.glasses mereka ingat dimana glasses ditemukan (dalam head), dan pencarian selanjutnya akan dicari ditempat yang sama. Mesinnya juga cukup pintar untuk memperbaharui cache internal jika sesuatu berubah, jadi optimasinya akan aman.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.