很多书上都是说,javascript是不能真正实现javascript私有成员的,因此在开发的时候,统一约定 __ 两个下划线开头为私有变量。
后来,发现javascript中闭包的特性,从而彻底解决了javascript私有成员的问题。
function testfn(){
var _name;//定义javascript私有成员
this.setname = function(name){
_name = name; //从当前执行环境中获取_name
}
this.getname = function(){
return _name;
}
}// end testfn
var test = testfn();
alert(typeof test._name === "undefined")//true
test.setname("kenchen");
test._name 根本访问不到,但是用对象方法能访问到,因为闭包能从当前的执行环境中获取信息。
接下来我们看看,共有成员是怎样实现的
function testfn(name){
this.name = name;
this.getname = function(){
return this.name;
}
}
var test = new testfn("kenchen");
test.getname(); //kenchen
test.name = "cc";
est.getname();//cc
接下来在看看类静态变量是怎样实现的
function testfn(){
}
testfn.name = "kenchen";
alert(testfn.name);//kenchen
testfn.name = "cc";
alert(testfn.name);//cc
以上就是javascript私有成员的实现方式实例详解的详细内容。