Maison  >  Article  >  interface Web  >  JavaScript simule les astuces namespace_javascript

JavaScript simule les astuces namespace_javascript

WBOY
WBOYoriginal
2016-05-16 16:03:301185parcourir

En C et C#, les espaces de noms sont utilisés pour minimiser les conflits de noms. Par exemple, dans le .NET Framework, les espaces de noms permettent de distinguer la classe Microsoft.Build.Task.Message de System.Messaging.Message. JavaScript ne dispose d'aucune fonctionnalité spécifique au langage pour prendre en charge les espaces de noms, mais il est facile d'émuler des espaces de noms à l'aide d'objets. Si vous créez une bibliothèque JavaScript, vous pouvez les envelopper dans un espace de noms sans définir de fonctions ni de classes globales, comme ceci :

var MSDNMagNS = {};
MSDNMagNS.Pet = function(name) { // code here };
MSDNMagNS.Pet.prototype.toString = function() { // code };
var pet = new MSDNMagNS.Pet(“Yammer”);

Un niveau d'espace de noms peut ne pas être unique, des espaces de noms imbriqués peuvent donc être créés :

var MSDNMagNS = {};
// nested namespace “Examples”
MSDNMagNS.Examples = {};
MSDNMagNS.Examples.Pet = function(name) { // code };
MSDNMagNS.Examples.Pet.prototype.toString = function() { // code };
var pet = new MSDNMagNS.Examples.Pet(“Yammer”);

Comme vous pouvez l'imaginer, taper ces longs espaces de noms imbriqués peut être fatiguant. Heureusement, les utilisateurs de la bibliothèque peuvent facilement spécifier des alias plus courts pour les espaces de noms :

// MSDNMagNS.Examples and Pet definition...
// think “using Eg = MSDNMagNS.Examples;”
var Eg = MSDNMagNS.Examples;
var pet = new Eg.Pet(“Yammer”);
alert(pet);

Si vous regardez le code source de la bibliothèque Microsoft AJAX, vous constaterez que l'auteur de la bibliothèque a utilisé une technologie similaire pour implémenter les espaces de noms. Je ne l'expliquerai pas en détail ici. Les amis qui en ont besoin peuvent se rendre chez Du Niang. pour le trouver.

Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à tous ceux qui apprennent le javascript

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