公有属性,公有方法
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