Für JavaScript ist das eigene Array-Objekt nur ein Array und kann nicht über Schlüsselwörter auf gespeicherte Daten zugreifen. Der jQuery-Quellcode bietet eine sehr gute Möglichkeit, dieses Problem zu lösen:
Funktionscache (Schlüssel, Wert) {
// Verwenden Sie (Taste „“), um eine Kollision mit dem nativen Prototyp zu vermeiden
// Eigenschaften (siehe Problem Nr. 157)
if (keys.push(key = " ") > Expr.cacheLength) {
// Nur die aktuellsten Einträge behalten
Cache löschen[keys.shift()];
}
Return (cache[key] = value);
}
Cache zurückgeben;
}
Der obige Quellcode dient zum Erstellen eines Caches mit Kompilierungsergebnissen. Der Code heißt wie folgt:
Im Quellcode werden Schlüssel zum Speichern von Schlüsseln verwendet, während Cache-Objekte zum Speichern von Schlüssel-Wert-Paaren verwendet werden. Die maximale Anzahl von Schlüsseln wird über die globale Variable Expr.cacheLength gesteuert. Wenn diese Anzahl überschritten wird, wird die Der erste Schlüssel und der Schlüsselwert werden automatisch gelöscht.
Dieser Code verwendet die Abschlussstruktur, um zu verhindern, dass externer Code auf die Schlüsselvariable zugreift, und gewährleistet so die Sicherheit der Schlüsselvariablen. Aufgrund der Eigenschaften von JavaScript-Anweisungen kann externer Code natürlich immer noch dazu führen, dass die Schlüssel und Schlüssel-Wert-Paare nicht übereinstimmen, indem die Cache-Attribute geändert werden. Solange Sie jedoch nicht absichtlich einen Streich spielen, sollte dies an sich keine große Rolle spielen.
Natürlich kann es kein vollständiges Wörterbuchobjekt deklarieren, da es keine Schlüsselfunktionen wie die Beurteilung der Primärschlüsselduplizierung bietet. Interessierte Freunde können es verbessern.