我想知道几年后人们会想到使用模块模式 - esque构造函数模式继承并且没有正常的原型继承.为什么程序员不使用模块模式用于非单例js类?对我来说,优点是:
缺点:
考虑一下(只需在任何js控制台中运行)
var Animal = function () {
var publicApi = {
Name: 'Generic',
IsAnimal: true,
AnimalHello: animalHello,
GetHelloCount:getHelloCount
};
var helloCount = 0;
function animalHello() {
helloCount++;
console.log(publicApi.Name + ' says hello (animalHello)');
}
function getHelloCount(callback) {
callback.call(helloCount);
}
return publicApi;
};
var Sheep = function (name) {
var publicApi = {
Name: name || 'Woolie',
IsSheep: true,
SheepHello: sheepHello
};
function sheepHello() {
publicApi.AnimalHello();
publicApi.GetHelloCount(function() {
console.log('i (' …
Run Code Online (Sandbox Code Playgroud)