高级程序书188
///私有变量和特权方法
function Person(name){
this.getName = function(){
return name;
};
console.log(this); //true
console.log(this.constructor == Person); //true
this.setName = function(value){
name = value;
};
}
var person = new Person("gejin");
alert(person.getName()); //gejin
person.setName("nvshen");
alert(person.getName()); //nvshen/
/*(function(){
var privateVariable = 10;
function privateFunction(){
return false;
};
//构造函数 定义构造函数时没有使用函数声明,而是使用函数表达式,函数声明只能创造局部函数。同样,没有在声明MyObject时使用var ,也是为了创建全局函数。
MyObject = function(){
};
//公有/特权方法
MyObject.prototype.publicMethod = function(){
privateVariable++;
return privateFunction();
}
})();*/
(function(){
var privateVariable = "";
Person = function(value){
name = value;
};
Person.prototype.getName = function(){
return name;
};
Person.prototype.setName = function(value){
name = value;
};
})();
var person1 = new Person("gejin");
alert(person1.getName()); //gejin
person1.setName("nvshen");
alert(person1.getName()); //nvshen
var person2 = new Person("zhenhua");
alert(person1.getName()); //zhenhua
alert(person2.getName()); //zhenhua