日期:2014-05-16  浏览次数:20400 次

Javascript中的单例和模块模式

引用:http://www.iteye.com/topic/1112939

引自:http://www.cnblogs.com/fengmiaosen/archive/2011/01/11/1933219.html

?

在javascript中,单例(singleton)就是指只有一个实例的对象,而不需要用new关键字去创建一个对象示例。单例其实有点类似于C# /C++里面的静态类。在javascript中,是以对象字面量的方式来创建单例对象的,也就是以花括号包裹起来的键值对的JSON形式来创建的。例如:

?

?var?singletonObj={
????name:
'John',
????method:
function(){
????????
//方法代码
?}
};
?

?模块模式则是用来为单例创建私有变量和特权方法(公有方法),从而能增强单例的可访问性。以模块模式定义的私有变量和私有函数只有单例对象本身的特权(公有)方法可以访问到,其他外部的任何对象都不可以。其语法形式如下:

var?singleton?=?function(){
????
//私有变量
????var?privateVariable?=?10;
????
????
//私有函数
????function?privateFunction(){
????????
return?false;
????}

????
//