js模拟实现命名空间简单介绍
分类:实例代码
如果对于C#或者java等语言比较熟悉,那么命名空间这个概念就自然不会陌生。
它的作用非常的巨大,可以有效的对代码进行分组,可以避免命名冲突的功能,但是当前的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);
一线大厂高级前端编写,前端初中阶面试题,帮助初学者应聘,需要联系微信:javadudu