JavaScript面向对象:工厂模式详解

作者:闭包旅人

时间:2026-10-24

浏览:371

本文通过汽车生产的比喻,详细解析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();//结合一次性构建与组装生产模式

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章