javascript模拟命名空间

2019-12-18,,

在 C++ 和 C# 中,命名空间用于尽可能地减少名称冲突。例如,在 .NET Framework 中,命名空间有助于将 Microsoft.Build.Task.Message 类与 System.Messaging.Message 区分开来。JavaScript 没有任何特定语言功能来支持命名空间,但很容易使用对象来模拟命名空间。如果要创建一个 JavaScript 库,则可以将它们包装在命名空间内,而不需要定义全局函数和类,如下所示:

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

命名空间的一个级别可能不是唯一的,因此可以创建嵌套的命名空间:

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”);

可以想象,键入这些冗长的嵌套命名空间会让人很累。 幸运的是,库用户可以很容易地为命名空间指定更短的别名:

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

如果看一下 Microsoft AJAX 库的源代码,就会发现库的作者使用了类似的技术来实现命名空间,这里就不做详细说明了,有需要的小伙伴自己去度娘找吧。

以上就是本文的全部内容了,希望对大家学习javascript能够有所帮助

您可能感兴趣的文章:

  • javascript实现相同事件名称,不同命名空间的调用方法
  • js关于命名空间的函数实例
  • Javascript学习笔记之函数篇(六) : 作用域与命名空间
  • JavaScript创建命名空间的5种写法
  • 关于JavaScript命名空间的一些心得
  • javascript简单实现命名空间效果
  • Javascript 命名空间模式
  • JavaScript 命名空间 使用介绍
  • JS模块与命名空间的介绍
  • namespace.js Javascript的命名空间库
  • js命名空间写法示例

《javascript模拟命名空间.doc》

下载本文的Word格式文档,以方便收藏与打印。