JS实现面向对象特性之封装

JS模仿面向对象的封装特性,封装的手段是:

1.使用var关键字修饰的变量只能在函数内访问,所以使用var修饰的变量可以看作私有变量。

2.只有提供了公有的setter与getter方法,才能对私有变量进行修改。

function People(){
    this.id = 12;      //公有成员
    var name = '张三';//私有成员
    var age = 20;     //私有成员
    function say(){
        console.log(name+"的年龄是:"+age);	
    }	
    this.getName = function(){
        return this.name;	
    }
    this.setName = function(name){
        this.name=name;
    }
}

var p=new People();
console.log(p.id);       //输出12
console.log(p.name); //输出undefined
p.setName('rr');    //将该对象的name修改为rr
console.log(p.getName()); //输出rr

猜你喜欢

转载自blog.csdn.net/qq_42864422/article/details/106791167