最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript单列模式和单体模式定义和应用代码详解

来源:动视网 责编:小采 时间:2020-11-27 20:15:19
文档

javascript单列模式和单体模式定义和应用代码详解

javascript单列模式和单体模式定义和应用代码详解:单体模式:单体是一个用来划分命名空间并将一批相关的属性和方法组织在一起的对象,如果他可以被实例化,那么他只能被实例化一次。特点: 可以来划分命名空间,从而清除全局变量所带来的危险。利用分支技术来来封装浏览器之间的差异。可以把代码组织的更为一
推荐度:
导读javascript单列模式和单体模式定义和应用代码详解:单体模式:单体是一个用来划分命名空间并将一批相关的属性和方法组织在一起的对象,如果他可以被实例化,那么他只能被实例化一次。特点: 可以来划分命名空间,从而清除全局变量所带来的危险。利用分支技术来来封装浏览器之间的差异。可以把代码组织的更为一


单体模式:

单体是一个用来划分命名空间并将一批相关的属性和方法组织在一起的对象,如果他可以被实例化,那么他只能被实例化一次。

特点: 

可以来划分命名空间,从而清除全局变量所带来的危险。

利用分支技术来来封装浏览器之间的差异。

可以把代码组织的更为一体,便于阅读和维护。

代码实现:

/*Basic Singleton*/
var Singleton = {
 attribute:true,
 method1:function(){},
   method2:function(){}
};

应用场景:

单体模式在我们平时的应用中用的比较多的,相当于把我们的代码封装在一个起来,只是暴露一个入口,从而避免全部变量的污染。

单例模式

单例模式定义了一个对象的创建过程,此对象只有一个单独的实例,并提供一个访问它的全局访问点。也可以说单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。

代码实现:

单例的实现有很多种,下面只介绍其中的一种,使用闭包方式来实现单例,代码如下:

var single = (function(){
 var unique;
 function getInstance(){
    // 如果该实例存在,则直接返回,否则就对其实例化
 if( unique === undefined ){
 unique = new Construct();
 }
 return unique;
 }
 function Construct(){
 // ... 生成单例的构造函数的代码
 }
 return {
 getInstance : getInstance
 }
})();

上面的代码中,unique便是返回对象的引用,而 getInstance便是静态方法获得实例。Construct 便是创建实例的构造函数。

可以通过 single.getInstance() 来获取到单例,并且每次调用均获取到同一个单例。这就是 单例模式 所实现的效果。

使用场景:

单例模式是一种常用的模式,有一些对象我们往往只需要一个,比如全局缓存、浏览器的window对象。在js开发中,单例模式的用途同样非常广泛。试想一下,当我们

单击登录按钮的时候,页面中会出现一个登录框,而这个浮窗是唯一的,无论单击多少次登录按钮,这个浮窗只会被创建一次。因此这个登录浮窗就适合用单例模式。

总结一下它的使用场景:

1、可以用它来划分命名空间

2、借助单例模式,可以把代码组织的更为一致,方便阅读与维护

文档

javascript单列模式和单体模式定义和应用代码详解

javascript单列模式和单体模式定义和应用代码详解:单体模式:单体是一个用来划分命名空间并将一批相关的属性和方法组织在一起的对象,如果他可以被实例化,那么他只能被实例化一次。特点: 可以来划分命名空间,从而清除全局变量所带来的危险。利用分支技术来来封装浏览器之间的差异。可以把代码组织的更为一
推荐度:
标签: 模式 使用 js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top