Javascript系列教程:面向对象讲解(四)
- 发表于
- jQuery
私有属性、实例属性、类属性
–这段知识是基于网上流传的李赞红的JS-OOP.ppt讲解的。
- 私有属性只能在构造函数内部定义与使用;
- 实例属性必须在对象实例化后使用;
- 类属性直接通过类名去使用
例:
1、私有属性
var Me={
_name:"Wang Hongjian",
_age:23
}
调用方法:Me._name,假如现在声明另一个空对象Her,由于作用域Her无法调用_name属性。
2、实例属性:实例属性可以有两种声明方式,一是通过原型函数prototype声明;另一种是通过this关键字声明的。
<script type="text/javascript">
var Me=function(){
this._age=23;
this._name="Wang Hongjian";
Me.prototype._sayHi=function(){
alert("Hello,everybody");
}
}
var M=new Me();
alert(M._name + "'s age is " + M._age);
M._sayHi();
</script>
3、类属性:直接通过类名去使用
<script type="text/javascript">
var Me={};
Me.sayHi="Hi,everybody!");
alert(Me.sayHi);
</script>
私有方法、实例方法、类方法
与属性相对应,方法也可分为私有、实例、及类方法。私有方法只可在对象中使用;实例方法必须在对象实例化后才能使用;类方法可以直接通过类名使用。
1、私有方法
<script type="text/javascript">
var Me={
_sayHi:function(){
alert("Hello,everybody!");
}
}
Me._sayHi();
</script>
2、静态方法:语法及使用与静态属性类似
<script type="text/javascript">
var Me=function(){
this.sayHi=function(){
alert("Hello,everybody!");
};
Me.prototype.readBook=function(){
alert("人生若只初相见,何事秋风悲画扇?");
};
}
var M=new Me();
M.sayHi();
M.readBook();
</script>
3、类属性
<script type="text/javascript">
var Me={};
Me.sayHi=function(){
alert("Hi,everybody!");
}
Me.sayHi();
</script>
原文连接
的情况下转载,若非则不得使用我方内容。