Maison > interface Web > js tutoriel > Différentes façons de créer des espaces de noms en JavaScript

Différentes façons de créer des espaces de noms en JavaScript

autoload
Libérer: 2021-04-02 09:45:46
original
2155 Les gens l'ont consulté

Différentes façons de créer des espaces de noms en JavaScript

Les variables globales dans JavaScript provoquent souvent des conflits de noms, voire parfois une réécriture les variables ne sont pas dans l'ordre que vous imaginiez, donc afin d'éviter les 全局变量名 conflits, créer 命名空间 devient la solution optimale.

1. Implémenter via la fermeture (Closure) et l'objet

Déclarez toutes les variables et méthodes dans la fermeture et transmettez un JSON Object Renvoie l'interface publique :

var NameSpace = NameSpace || {};
 NameSpace.Hello = (function() {   
 //待返回的公有对象  
  var self = {};   
  //私有变量或方法   
  var name = 'world';  
   //公有方法或变量   
   self.sayHello = function(_name) {    
    return 'Hello ' + (_name || name);  
     } ;   
     //返回的公有对象   
     return self; 
}());
Copier après la connexion

2. Créer un objet via un objet JSON, le code est le suivant :

var NameSpace = NameSpace || {}; 
NameSpace.Hello = {     name: 'world'   , sayHello: function(_name) {   
  return 'Hello ' + (_name || this.name);  
   }
 };
Copier après la connexion

3. Créer via une fonction : (plus complexe)

Il s'agit d'une méthode d'écriture relativement courante, obtenue en déclarant un function et en définissant des variables initiales dans la fonction. . Les méthodes publiques sont écrites en prototype, telles que :

var NameSpace = NameSpace || {}; 
/* Function */ 
NameSpace.Hello = function() {   
    this.name = 'world'; 
}; 
NameSpace.Hello.prototype.sayHello = function(_name) {   
    return 'Hello ' + (_name || this.name); 
}; 
var hello = new NameSpace.Hello(); 
hello.sayHello();
Copier après la connexion

4 Créer via la fonction : (plus concis)

var NameSpace = NameSpace || {}; 
NameSpace.Hello = new function() {   
    var self = this;   
    var name = 'world';   
    self.sayHello = function(_name) {    
     return 'Hello ' + (_name || name);  
      }; 
 };
Copier après la connexion

recommandé. : "Questions et réponses de l'entretien js 2021 (grand résumé)"

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal