私有属性/公有属性的理解

2017-12-01  本文已影响21人  以手画圆心

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....
        }
}
上一篇下一篇

猜你喜欢

热点阅读