1.私有属性
在对象内部使用'var'关键字来声明,而且它只能被私有函数和特权方法访问。
function Person() {
var foo = "great"; //私有属性
}
2.私有方法
在对象的构造函数里声明(或者是通过var functionName=function(){...}来定义),
它能被特权方法调用(包括对象的构造方法)和私有方法调用,私有函数只能访问私有的方法和属性。
function Person(){
var say = function(){
console.log(foo);//私有方法,调用上述私有属性
}
}
3.公有属性
通过this.variableName来定义而且在对象外部是可以读写的。不能被私有函数所调用。
function Person(){
this.color = "yellowi";
}
4.公有方法
通过ClassName.prototype.methodName=function(){...}来定义可以从对象外部来调用.
function Person(){
//code......
}
Person.prototype.getName = function (){
//code......
}
5.特权方法
通过this.methodName=function(){...}来声明而且可能被对象外部的代码调用。
它可以使用:this.特权函数() 方式来调用特权函数,使用 :私有函数()方式来调用私有函数。
function Person(){
this.getAge = function(){
//code....
}
}