多态: 如果相同的属性(相同的键,相同语义, 通常有不同的值), 在几个原型中同时存在, 称为多态. 那么通过实例读取属性的结果是由实例原型动态决定的. —<深入理解Javascript>
举个栗子
function ConstrA () {}
function ConstrB () {}
ConstrA.prototype.num = 1
ConstrB.prototype.num = 2
避免非多态的原型属性, 更好地反应非多态性
(主要就是属性如果是常量还不如外部直接定义)
// 不建议
function A () {}
A.prototype.Factor = 1
A.prototype.compute = function (n) {
return this.Factor / n
}
// 建议
var Factor = 1
function A () {}
A.prototype.compute = function (n) {
return Factor / n
}