JavaScript-静态私有变量

在上一篇的构造函数模式中我们知道,我们每次new一个构造函数的时候里面的私有变量只能由当前这个实例进行修改,如果我们有这样一种需求,我们需要每一个实例都能共享一些私有变量,这个时候我们推出静态私有变量这个模式

(function(){
    //建议先定义私有变量
    var name=10;
    //下面这种方式在严格模式下会导致错误,在非严格模式下,Person是全局的
    Person=function(value){
        name=value;
    }
    //增加代码复用
    Person.prototype.getName=function(){
        return name;
    }
    Person.prototype.setName=function(value){
        name=value;
    }
})();
var person1=new Person("林丽君");
console.log(person1.getName());//林丽君
var person2=new Person("张俊祺");
console.log(person2.getName());//张俊祺
person2.setName("老好人");
console.log(person1.getName());//老好人(注意哦,这里的person1的名字被person2修改了哦)

 

你可能感兴趣的:(JavaScript-静态私有变量)