您的位置是:网站首页>Javascript编程Javascript编程

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

少儿编程网2021-12-15 14:02:18Javascript编程 人已围观 来源:少儿编程 -用户投稿

简介在JavaScript中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺序来的,所以为了避免全局变量名冲突,创建命名空间成为最优解。1.通过闭包(Closure)和Object实现在闭包中声明好所有变量和方法,并通过一个JSONObject返回公有接口:varNameSpace=

bPH少儿编程网-https://www.pxcodes.com

JavaScript中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺序来的,所以为了避免全局变量名冲突,创建命名空间成为**优解。bPH少儿编程网-https://www.pxcodes.com

1.通过闭包(Closure)和Object实现bPH少儿编程网-https://www.pxcodes.com

在闭包中声明好所有变量和方法,并通过一个JSON Object返回公有接口:bPH少儿编程网-https://www.pxcodes.com

var NameSpace = NameSpace || {};
 NameSpace.Hello = (function() {   
 //待返回的公有对象  
  var self = {};   
  //私有变量或方法   
  var name = 'world';  
   //公有方法或变量   
   self.sayHello = function(_name) {    
    return 'Hello ' + (_name || name);  
     } ;   
     //返回的公有对象   
     return self; 
}());

2.通过JSON对象创建Object,代码如下:bPH少儿编程网-https://www.pxcodes.com

var NameSpace = NameSpace || {}; 
NameSpace.Hello = {     name: 'world'   , sayHello: function(_name) {   
  return 'Hello ' + (_name || this.name);  
   }
 };

3.通过函数(function)创建:(较为复杂)bPH少儿编程网-https://www.pxcodes.com

这是一种比较常见的写法,通过声明一个function实现,函数里设置初始变量,公共方法写入prototype,如:bPH少儿编程网-https://www.pxcodes.com

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)创建:(较为简洁)bPH少儿编程网-https://www.pxcodes.com

var NameSpace = NameSpace || {}; 
NameSpace.Hello = new function() {   
    var self = this;   
    var name = 'world';   
    self.sayHello = function(_name) {    
     return 'Hello ' + (_name || name);  
      }; 
 };

推荐:《2021年js面试题及答案(大汇总)》

以上就是JavaScript创建命名空间的多种玩法的详细内容,更多请关注少儿编程网其它相关文章!bPH少儿编程网-https://www.pxcodes.com

来源:php中文网bPH少儿编程网-https://www.pxcodes.com


相关文章:

支持一下 ( )

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

      匿名评论
    • 评论
    人参与,条评论
    JavaScript创建命名空间的多种玩法

微信公众号

免费视频教程

先知道