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; }());
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); } };
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();
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); }; };
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!