面向对象之静态属性,静态方法,公有属性,公有方法详解

公有属性,公有方法

function Person(name, age){
    this.name = name;  //公有属性
    this.age = age;  
}
Person.prototype.sayName = function(){  //公有方法
    return this.name;
}

私有属性和私有方法,私有属性和方法不能够通过this来掉用,外部也无法调用私有方法

function Person(name, age) {
    var name = name;  //私有属性
    var age = age;
    function sayName() {  //私有方法
        console.log(name);
    }
    sayName()  //调用私有方法
}
 var man = new Person('mr3x',21);  //mr3x

静态属性和静态方法,function本质上也是对象,直接将属性和方法挂载在函数上的叫做静态属性和方法,调用的时候就像对象一样使用就是了

function Person(){}
Person.myName = 'mr3x';
Person.age = '21';
Person.sayName = function(){
    return this.myName;
}
console.log(Person.sayName());  //mr3x

特权方法,有权访问私有属性和私有函数的公有方法叫做特权方法

function Person(name, age){
    var name = name;  //私有属性
    var age = age;  //私有属性
    this.sayName = function(){  //特权方法
        console.log(name);
    }
}

var man = new Person('mr3x', 21);
man.sayName() //mr3x

你可能感兴趣的:(js前端开发)