首页 > Web开发 > 详细

JS类的封装

时间:2016-08-09 01:59:51      阅读:223      评论:0      收藏:0      [点我收藏+]

js并不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样 用class来定义类, 但我们可以利用js的闭包封装机制来实现js类

1. 定义js类 
js并不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样 用class来定义类, 但我们可以利用js的闭包封装机制来实现js类, 我们来封装一个简的Shape类. 

function ShapeBase() { 
this.show = function() 

alert("ShapeBase show"); 
}; 
this.init = function(){ 
alert("ShapeBase init"); 
}; 

这个类里定义了两个方法:show和init, 需要注意的是这里用到了this来声明, 而不是var, 因为用var是用来定义私有方法的. 
另外, 我们还可以用prototype属性来定义Shape的方法. 

ShapeBase.prototype.show=function() 

alert("ShapeBase show"); 

ShapeBase.prototype.init=function() 

alert("ShapeBase init"); 

上面这种写法看起来不太直观,我们可以将所有的方法写在一起. 

ShapeBase.prototype={ 
show:function() 

alert("ShapeBase show"); 
}, 
init:function() { 
alert("ShapeBase init"); 

}; 

让我们写个js来测试下, 看看结果是不是跟我们想象的一样

function test(src){ 
var s=new ShapeBase(); 
s.init(); 
s.show(); 

其调用方式和C#一模一样, 而结果也如我们所料。

JS类的封装

原文:http://www.cnblogs.com/Ma-lulu/p/5751482.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!