javascript设计模式之单体模式
2010-01-08 00:00:00 来源:WEB开发网可见在window.onload中的width 和height已经没有干扰了,因为单体为单体中的width和height建立了一个命名空间。
2成员的属性:
讨论完命名空间,我们来对单体变量和方法的属性做一下设定。学过其他语言的人(java,c++,c#...)都应该很了解其中类成员的public和private,
虽然在javascript中没有这么严格的面向对象(oop),但是我们可以借助闭包来进行一个模仿,毕竟有的变量设为public是很不好的。
1 var circle = (function(){
2 //pravite member!
3 var r = 5;
4 var pi = 3.1416;//后面用分号
5 return{//public member
6 getArea:function(){
7 return r*r*pi;//访问私有成员不要加this
8 },//后面用逗号
9 //如果想改变r和pi的值,只能通过设置一个公有的函数来实现
10 init:function(setR){
11 r = setR;
12 }
13 }
14 })()
15 window.onload = function(){
16 circle.r = 0;//无法访问私有成员,相当于又为circle创建了一个共有成员r
17 alert(circle.getArea());
18 circle.init(0);//通过公有的工具函数便可以访问了。
19 alert(circle.getArea());
20 };
私有变量、方法是只读的,公有变量、方法是可读可写的
Tags:javascript 设计模式 单体
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接