js模拟实现命名空间功能代码实例
分类:实例代码
使用命名空间可以有效的防止命名冲突,比如c#。
是一种非常实用的功能,但是javascript自身并没有定义这样的功能。
不过我们可以模拟实现,下面就通过代码实例做一下简单介绍。
首先看一下个简单代码实例:
var MSDNMagNS = {}; MSDNMagNS.Pet = function(name) { // code }; MSDNMagNS.Pet.prototype.toString = function() { // code }; var pet = new MSDNMagNS.Pet("pipipi.net");
上面的代码实现了简单的命名空间功能,原理其实非常的简单,就是创建一个对象,然后将各种方法或者属性作为此对象的属性。
命名空间也可以实现嵌套,代码如下:
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("pipipi.net");
上面的代码实现了命名空间的功能,不过还不够完美,名字太繁琐了,键入不够方便。
不过我们可以给它取一个别名,代码如下:
// MSDNMagNS.Examples and Pet definition... // think “using Eg = MSDNMagNS.Examples;” var Eg = MSDNMagNS.Examples; var pet = new Eg.Pet("pipipi.net"); console.log(pet);
网站出售中,有意者加微信:javadudu