Pour JavaScript, son propre objet Array n'est qu'un tableau et ne peut pas donner accès aux données enregistrées via des mots-clés. Le code source de jQuery fournit un très bon moyen de résoudre ce problème. Jetez d'abord un œil au code source :
. fonction cache(clé, valeur) {
// Utilisez (clé " ") pour éviter les collisions avec le prototype natif
// propriétés (voir numéro 157)
if (keys.push(key = " ") > Expr.cacheLength) {
// Ne conserve que les entrées les plus récentes
Supprimer le cache[keys.shift()];
>
Retour (cache[clé] = valeur);
>
retourner le cache ;
>
Le code source ci-dessus sert à créer un cache des résultats de la compilation. Le code est appelé comme suit :
Dans le code source, les clés sont utilisées pour enregistrer les clés, tandis que les objets de cache sont utilisés pour enregistrer les paires clé-valeur, et le nombre maximum de clés est contrôlé via la variable globale Expr.cacheLength. Si ce nombre est dépassé, le nombre maximum de clés est contrôlé via la variable globale Expr.cacheLength. la première clé et la valeur de la clé seront automatiquement supprimées à droite.
Ce code utilise la structure de fermeture pour empêcher le code externe d'accéder à la variable clés, assurant ainsi la sécurité de la variable clés. Bien entendu, en raison des caractéristiques des instructions JavaScript, le code externe peut toujours rendre les clés et les paires clé-valeur incompatibles en modifiant les attributs du cache. Cependant, tant que vous ne faites pas délibérément une farce, cela ne devrait pas avoir beaucoup d'importance en soi.
Bien sûr, il ne peut pas déclarer un objet dictionnaire complet car il ne fournit pas de fonctions clés telles que le jugement de duplication de clé primaire. Les amis intéressés peuvent l'améliorer.