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 fr.javascript.info — Algorithme de recherche

  • Tutoriel
  • JavaScript le langage
  • Prototypes, héritage
  • Héritage prototypal
retour au cours

Algorithme de recherche

importance: 5

La tâche comporte deux parties.

Étant donné les objets suivants :

let head = {
  glasses: 1
};

let table = {
  pen: 3
};

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

let pockets = {
  money: 2000
};
  1. Utilisez __proto__ pour attribuer des prototypes de manière à ce que toute recherche de propriété suive le chemin:pockets → bed → table → head. Par exemple, pocket.pen devrait être 3 (trouvé dans table), et bed.glasses devrait être 1 (trouvé dans head).
  2. Répondez à la question: est-il plus rapide d’obtenir glasses en tant que pockets.glasses ou head.glasses? Analyse si nécessaire.
  1. Ajoutons __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. Dans les moteurs modernes, en termes de performances, il n’ya pas de différence selon que l’on prend une propriété d’un objet ou de son prototype. Ils se souviennent du lieu où la propriété a été trouvée et le réutilisent à la demande suivante.

    Par exemple, pour pockets.glasses ils se souviennent où ils ont trouvé glasses (dans head), et la prochaine fois rechercheront là. Ils sont également assez intelligents pour mettre à jour les caches internes en cas de changement, de sorte que l’optimisation est sécurisée.

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.