Studenten, die die Baidu-Suche häufig verwenden, werden den Dropdown-Index des Eingabefelds definitiv nicht ignorieren. Die einzigartigen Bedingungen stellen jedoch einige Herausforderungen für ihr Front-End dar Belagerungsingenieure müssen die Anzahl der Ajax-Nachrichten so weit wie möglich reduzieren. Es mag für diesen Artikel irrelevant klingen, ist es aber nicht. Lassen Sie uns zunächst eine kostenlose Werbung für Baidu machen. Geben Sie auf der Baidu-Homepage das Wort „Frontend“ ein und verwenden Sie Chromebug, um die gesendete Antwort einfach anzuzeigen. Die Ergebnisse werden wie folgt angezeigt:
Baidu versucht, die Dropdown-Daten zu rendern, indem es eine sug-Methode mit obj-Parametern zurückgibt. Wenn Sie das „Frontend“ erneut aufrufen, ohne die Seite zu aktualisieren, treten keine ähnlichen Anforderungen auf, was zeigt, dass es sich um ein sehr Cache-Objekt handelt Seine Funktion besteht darin, das angeforderte Objekt vorübergehend zu speichern. Wenn das gleiche Wort eingegeben wird, wird zuerst der Schlüssel des Cache-Objekts abgerufen und der Wert des Objekts direkt gelesen länger angefordert. Der Server sendet die Anfrage, wodurch effektiv Kosten gespart werden können.
Lassen Sie uns über den wahren Protagonisten sprechen: die hasOwnProperty-Methode.
Ich glaube, dass jser kein Unbekannter bei hasOwnProperty ist. Ich verkaufe hier nur Wasser am Fluss.
Es gilt ausschließlich für Objekte und wird verwendet, um zu bestimmen, ob ein Attribut im Schlüssel eines Objekts vorhanden ist. Es gibt einen booleschen Wert zurück. Hier ist ein Beispiel:
Wenn Sie das wissen, scheint es, dass es nicht ausreicht, die Leistungsfähigkeit von hasOwnProperty zu erkennen, also reproduzieren wir einfach das Baidu-Dropdown-Beispiel:
Einige Kollegen stellten in Frage, dass auf diese Weise der von zwischengespeicherten Objektdaten belegte Speicher zunimmt, wenn mehr Schlüsselwerte gespeichert werden. Dann möchte ich sagen, dass dies unvermeidlich ist. Sie müssen andere Dinge opfern. Tatsächlich kann der vom Cache-Objekt belegte Speicherplatz normalerweise ignoriert werden, da er nicht einmal im Speicher gespeichert ist wird erfrischt, Es wird zerstört werden. Wir können jedoch eine andere Lösung anbieten und uns auf einen Spitzenwert für dieses Objekt einigen. Beispielsweise dürfen maximal 100 Schlüssel-Wert-Paare gespeichert werden. Wenn die Anzahl 100 überschreitet, löschen Sie die ersten zehn gespeicherten Schlüssel oder einfach keine Speicherung, um dieses Problem zu vermeiden.
Die Methode hasOwnProperty wird besonders häufig bei der Objekterkennung verwendet. Natürlich können interessierte Studenten auch die Methode propertyIsEnumerable kennenlernen. Sie ist eine erweiterte Version von hasOwnProperty und kann die Aufzählbarkeit der Eigenschaft erkennen Ich werde es nicht mehr im Detail erklären.