Maison  >  Article  >  interface Web  >  Exemple de code de modèle d'espace de noms Javascript

Exemple de code de modèle d'espace de noms Javascript

怪我咯
怪我咯original
2017-07-07 15:08:271087parcourir

L'

espace de noms est créé en créant un objet global pour le projet ou la bibliothèque, puis en ajoutant toutes les fonctionnalités à cette variable globale. En réduisant le nombre de variables globales dans le programme, une seule variable globale est implémentée, ce qui ne provoque pas de pollution globale lorsqu'il existe un grand nombre de fonctions, d'objets et d'autres variables, et évite également des problèmes tels que les conflits de noms

Cependant, lors de l'ajout de l'attribut à un espace de noms dans différents fichiers, vous devez d'abord vous assurer que l'espace de noms existe déjà, et en même temps ne causer aucun dommage à l'espace de noms existant. Ceci peut être réalisé grâce à des fonctions d'espace de noms non destructives :

Le code est le suivant :

var KUI = KUI || {};
KUI.utils = KUI.utils || {};

KUI.utils.namespace = function(ns){
    var parts = ns.split("."),
        object = KUI,
        i, len;

    if(parts[0] === "KUI"){
        parts = parts.slice(1);
    }

    for(i = 0, len = parts.length; i < len; i+=1){

        if(!object[parts[i]]){
            object[parts[i]] = {};
        }

        object = object[parts[i]];
    }

    return object;
};

Utilisation :

Le code est le suivant suit :

KUI.utils.namespace("KUI.common");
KUI.utils.namespace("KUI.common.testing");
KUI.utils.namespace("KUI.modules.function.plugins");
KUI.utils.namespace("format");

Regardez ce que le KUI a après ce qui précède :

Le code est le suivant :

{
    "utils": {},
    "common": {
        "testing": {}
    },
    "modules": {
        "function": {
            "plugins": {}
        }
    },
    "format": {}
}

Inconvénients du mode espace de noms

1. Une saisie plus longue nécessite des caractères et nécessite un temps d'analyse plus long ;
2. Dépendance à une seule variable globale, c'est-à-dire que n'importe quel code peut modifier l'instance globale, et un autre code obtiendra l'instance modifiée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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