Javascript 类的公有私有

js中没有类,但是每个函数都可以使用new来生成新的对象。也就是说在js中每个函数都可以代表as中类的概念。那么类中私有方法,公开方法,私有属性和公开属性又是怎样实现的。可以看代码

function ClassA(){
        var a = 1//这里的a是在函数中使用var关键字声明的,表示的是ClassA中的私有属性,外部不可访问
        this.b = 2;//这里this调用的,表示的是ClassA中公开的属性。
        c = 3;//这里声明的c不在ClassA中,而是在全局作用域,相当于window.c = 3;
        function d(){//这种形式声明的函数属于私有函数,只能在ClassA中调用,window也无法调用。
        console.log('function d');
    }

    this.e = function(){//这种形式声明的函数,属于公开函数
        console.log('function e');
    }
}
var cla = new ClassA();
console.log(cla.a);//undefined
console.log(cla.b);//2
console.log(cla.c);//undefined
console.log(window.c);//3

console.log(cla.d);//undefined
console.log(cla.e);//输出函数e的实现
console.log(window.d);//undefined

posted on 2017-01-22 19:35  fxxk院子  阅读(59)  评论(0)    收藏  举报

导航