WEB开发网
开发学院网页设计JavaScript javascript设计模式之单体模式 阅读

javascript设计模式之单体模式

 2010-01-08 00:00:00 来源:WEB开发网   
核心提示: 发现可以了,由于init和 getArea所用的width和height并不是归单体所有的变量,javascript设计模式之单体模式(3),而是一个全局变量,所以我们可以在单体外面进行随意调用而不受影响如果我们这样写一下就更明白了:1varbox={2width:0,3height:0,4ge

发现可以了,由于init和 getArea所用的width和height并不是归单体所有的变量,而是一个全局变量,所以我们可以在单体外面进行随意调用而不受影响

如果我们这样写一下就更明白了:

 1 var box = {
 2         width:0,
 3         height:0,
 4         getArea:function(){
 5             return width*height;//js中对象成的访问必须是显示的,即this是不能省略的
 6         },
 7         init:function(w,h){
 8             width = w;
 9             height = h;
10         }
11     }//这里的width,height其实并不是单体的对象
12 window.onload = function(){
13         width = 0;
14         height = 0;
15         var width = box.getArea();
16     alert(width);
17 }

这样写又会报错了,可见我们以上的方式对于全局变量并没有建立起一个命名空间,全局变量为我们带来了危险。所以最上面的写法是对的,我们来验证一下:

 1 var box = {
 2         width:2,
 3         height:2,
 4         getArea:function(){
 5             return this.width*this.height;//js中对象成的访问必须是显示的,即this是不能省略的
 6         },
 7         init:function(w,h){
 8             this.width = w;
 9             this.height = h;
10         }
11     }
12 window.onload = function(){
13         width = 0;
14         height = 0;
15         var width = box.getArea();
16     alert(width);
17 }

上一页  1 2 3 4 5  下一页

Tags:javascript 设计模式 单体

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接