JavaScript中的公有、私有、特权和静态成员用法分析
内容摘要
本文实例讲述了JavaScript中的公有、私有、特权和静态成员用法。分享给大家供大家参考。具体分析如下:
下面的内容是在《JavaScript.DOM高级程序设计》里面摘抄出来的,比较容
下面的内容是在《JavaScript.DOM高级程序设计》里面摘抄出来的,比较容
文章正文
本文实例讲述了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);
}
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对象实例的构造函数本身)。
希望本文所述对大家的javascript程序设计有所帮助。
代码注释