您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

JavaScript创建命名空间的多种玩法

2026/2/3 7:50:10发布18次查看
在javascript中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺序来的,所以为了避免全局变量名冲突,创建命名空间成为最优解。
1.通过闭包(closure)和object实现
    在闭包中声明好所有变量和方法,并通过一个json object返回公有接口:
var namespace = namespace || {}; namespace.hello = (function() { //待返回的公有对象 var self = {}; //私有变量或方法 var name = 'world'; //公有方法或变量 self.sayhello = function(_name) { return 'hello ' + (_name || name); } ; //返回的公有对象 return self; }());
2.通过json对象创建object,代码如下:
var namespace = namespace || {}; namespace.hello = { name: 'world' , sayhello: function(_name) { return 'hello ' + (_name || this.name); } };
3.通过函数(function)创建:(较为复杂)
这是一种比较常见的写法,通过声明一个function实现,函数里设置初始变量,公共方法写入prototype,如:
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.通过函数(function)创建:(较为简洁)
var namespace = namespace || {}; namespace.hello = new function() { var self = this; var name = 'world'; self.sayhello = function(_name) { return 'hello ' + (_name || name); }; };
推荐:《2021年js面试题及答案(大汇总)》
以上就是javascript创建命名空间的多种玩法的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product