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

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....
        }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容