Maison >interface Web >js tutoriel >Créer une instance d'objet dictionnaire (dictionnaire) dans les astuces JavaScript_javascript

Créer une instance d'objet dictionnaire (dictionnaire) dans les astuces JavaScript_javascript

WBOY
WBOYoriginal
2016-05-16 16:06:472204parcourir

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 :

.

Copier le code Le code est le suivant :

fonction createCache() {
var clés = [];

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 :

Copier le code Le code est le suivant :

var codecache = createCache();

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.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn