javascript私有成员private和public成员区别

作者:简简单单 2012-01-18


Private
private成员由构造函数产生。普通的var变量和构造函数的参数都称为private成员。

 代码如下 复制代码
function Container(param) {
    this.member = param;
    var secret = 3;
    var that = this;
}

该构造函数创建了3个private实例变量: param,secret和that。它们被添加到对象中,但是不能被外部访问,也不能被该对象自己的
public方法访问。它们只能由private方法访问。private方法是构造函数的内部方法。


Public
对象的成员都是public成员。任何对象都可以访问,修改,删除这些成员或添加新成员。主要有两种方式来在一个新对象里放置成员:

在构造函数里
这种技术通常用来初始化public实例变量。构造函数的“this”变量用来给对象添加成员。

 代码如下 复制代码

functin Container(param) {
    this.member = param;
}
functin Container(param) {
    this.member = param;
}

//重新封装document对象
var Console={
Write:function(msg){alert(msg);}
};
//Person对象
var Person={
_name:"zzl", //static public
_age:28,
PrintInfo:function(){Console.Write("name:"+Person._name+",age:"+this._age);} //public method ,this表示Person
};

// People类型(对象)
var People=(function()
{
var _name="zzl";//private
var _age=28;
return {//public
PrintInfo:function(){Console.Write("name:"+_name+",age:"+_age);}
}
}
());

Person.PrintInfo();//对象中的方法
People.PrintInfo();//方法对象中的公开子方法
Console.Write(Person._name);//对象中的属性

相关文章

精彩推荐