js 面向对象基本概念
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
function Man() {
// 私有静态属性
var Sex = "男";
// 私有静态方法
function checkSex() {
return (Sex == "男");
}
// 私有方法
this._getSex = function() {
// 调用私有静态方法
if(checkSex())
return "男";
else
return "女";
}
//私有方法
this.getFirstName = function() {
return "Li";
};
//私有方法
this.getLastName = function() {
return "Ping";
};
}
//公共方法
Man.prototype.getNickName = function() {
return "Leepy";
};
//公共方法
Man.prototype.getFullName = function() {
return this.getFirstName() + " " + this.getLastName();
};
//公共方法
Man.prototype.getSex = function() {
//调用私有方法
return this._getSex();
};
//公共静态方法
Man.say = function() {
return "Happy new year!";
}
// 私有静态属性
var Sex = "男";
// 私有静态方法
function checkSex() {
return (Sex == "男");
}
// 私有方法
this._getSex = function() {
// 调用私有静态方法
if(checkSex())
return "男";
else
return "女";
}
//私有方法
this.getFirstName = function() {
return "Li";
};
//私有方法
this.getLastName = function() {
return "Ping";
};
}
//公共方法
Man.prototype.getNickName = function() {
return "Leepy";
};
//公共方法
Man.prototype.getFullName = function() {
return this.getFirstName() + " " + this.getLastName();
};
//公共方法
Man.prototype.getSex = function() {
//调用私有方法
return this._getSex();
};
//公共静态方法
Man.say = function() {
return "Happy new year!";
}
可以理解为:加了 prototype 就是公共方法,用 function 名直接调用的就是公共静态方法。
而在 function 内的就是私有静态方法,加了 this 的,就是私有方法。
走向地狱的途中,不小心走了程序员这条路,路上一个个黑心的老板,和暗无天日的加班,我才发现,通往地狱的路径中,我们这行是最短的。