JavaScript中的公有、私有、特权和静态成员
来源:自学PHP网
时间:2014-09-19 14:47 作者:
阅读:次
[导读] 最近在学习JavaScript,能看懂的时候感觉挺好的,看不懂的时候觉得好抽象啊,都不知道在说什么东东,什么作用域、闭包、继承等等的。不过既然选择了她,自己就下点狠功夫去学习、...
下面的内容是在《JavaScript.DOM高级程序设计》里面摘抄出来的,自己觉得看了挺容易理解的,怕以后会忘记或混淆,特在此记录一下,也顺便和各位正在入门Javascript的朋友们分享一下哈。
代码如下 |
复制代码 |
//构造函数
function myContructor(message){
this.myMessage = message;
//私有属性
var separator = ‘ -’;
var myOwner = this;
//私有方法
function alertMessage(){
alert(myOwner.myMessage);
}
alertMessage();
//特权方法(也是公有方法)
this.appendToMessage = function(string){
this.myMessage += separator + string;
alertMessage();
}
}
//公有方法
myContructor.prototype.clearMessage = function(string){
this.myMessage = ”;
}
//静态属性
myContructor.name = ‘Jankerli’;
//静态方法
myContructor.alertName = function(){
alert(this.name);
}
|
有关公有、私有、特权和静态成员的几条规则:
1、由于私有成员和特权成员在函数的内部,因此它们会被带到函数的每个实例中(即由构造函数创建的每个实例中都会包含着同样的私有和特权成员的副本,因而实例越多占用内存也就越多)。
2、公有的原型成员是对象蓝图的一部分,适用于通过new关键字实例化的该对象的每个实例。
3、静态成员只适用于对象的一个特殊实例(这个特殊的实例就是作为Function对象实例的构造函数本身)。 |