JavaScript面向对象:工厂模式详解
作者:闭包旅人时间:2026-10-24 11:56:36浏览:372
本文通过汽车生产的比喻,详细解析JavaScript中工厂模式的演进过程。从手动创建对象到封装函数,再到参数化与外部方法引用,逐步展示如何高效创建多个具有相同属性的对象实例,帮助开发者理解对象创建的最佳实践。
代码示例如下:
60年代:手动创建对象//20世纪60年代的汽车制造工厂
var ocar=new Object;
ocar.color="black";
ocar.doors=2;
ocar.pinpai="解放";
ocar.showPinpai=function()
{
alert(this.pinpai);//需要一条生产线,每生产一辆汽车都需建立新的生产线
}
70年代:封装工厂函数//20世纪70年代的汽车制造工厂
function createcar()
{
var oTempCar=new Object;
oTempCar.color="black";
oTempCar.doors=4;
oTempCar.pinpai="桑塔纳";
oTempCar.showPinpai=function()
{
alert(this.pinpai);//实现规模化生产,一条生产线可制造多辆汽车
}
return oTempCar;
}
80年代:参数化工厂函数//20世纪80年代汽车生产
function createcar(sColor,iDoors,sPinpai)
{
var oTempCar=new Object;
oTempCar.color=sColor;
oTempCar.doors=iDoors;
oTempCar.pinpai=sPinpai;
oTempCar.showPinpai=function()
{
alert(this.pinpai);//实现高效生产,一次性构建完成
}
return oTempCar;
}
90年代:外部方法引用与优化//20世纪90年代汽车生产
function showPinpai()
{
alert(this.color);
}
function createcar(sColor,iDoors,sPinpai)
{
var oTempCar=new Object;
oTempCar.color=sColor;
oTempCar.doors=iDoors;
oTempCar.pinpai=sPinpai;
oTempCar.showPinpai=function()
return oTempCar;
}
var oBmw=createcar("black",4,"BMW");
oBmw.showColor();//结合一次性构建与组装生产模式作者最新文章
怎么用 Promise 封装 JavaScript sleep 函数实现异步延时
2026-11-05 17:49:14
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
