javascript 类编程(未完)

[b]最近想总结一下JavaScript类编程,有时间写一点。

JavaScript本身是基于原型的,这与普通基于类的编程语言相比,在实现继承的机制上有较大的出入。Javascript 创建一个新类那便是修改了某个对象原型(prototype)的结果。

[/b]
[b]单例(Singletons)[/b]

在JavaScript的单例模式中,我们常常会创建似有Javascript变量或通过高明的必包手法建立似有的方法,以一段程序入口的范例代码就能说明多少问题。


MyApp = function() {
var data ;//外部无法访问data,这是私有成员
return {
init : function() {
...
},

getData : function() {
return data;
}
}
}




//以下信息来源于Apress.pro.Javascript.design.patterns ,翻译如下(原创非转载):
the basic Structure of the Singleton
单例的基本结构

/*
Basic Singleton
*/
var Singleton = {
attribute1 : true ,
attribute2 : 10,

method1 : function() {
},
method2 : function(arg) {

}
}


在这个例子中,所有的成员可以通过单例变量访问到。 你可以通过使用.来访问它们:
(you can access them using the dot notation)

Singleton.attribute1 = false;
var total = Singleton.attribute2 + 5 ;
var result = Singleton.method1();

单例对象可以被修改。你可以添加新的成员。你也可以删除成员,使用关键字[color=darkred]"delete"[/color]

A singleton with private members(一个含有私有成员的单例)
因为单例对象仅仅实例化一次,所有我们可以使用正确私有方法而无需但无需担心内存。

1 使用[color=red]下划线符号[/color]
在一个单例对象中创建一个私有成员最简单和直接的方法是使用下划线符号。这种方式可以让其他编程者知道这个方法或者属性是私有的,而且只能用在对象的内部。


/*
DataParser singleton ,converts character delimited strings into arrays.
*/
GiantCorp.DataParser = {
//private methods . 私有方法
//清除空格
_stripWhitespace :function(str) {
return str.replace(/\s+/,'');
},
//字符串分割 delimiter)(分隔符)
_stringSplit : function(str,delimiter) {
return str.split(delimiter);
},

//public method
stringToArray : function(str,delimiter,stripWS) {
if(stringWS) {
str = this._stripWhitespace(str);
}
var outputArray = this._stringSplit(str,delimiter);
return outputArray ;
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值