不二如是 发表于 2017-10-22 17:15:38

0 0 1 9 ㊣ ES 混合工厂方式

本帖最后由 不二如是 于 2017-10-22 17:15 编辑

http://xxx.fishc.com/forum/201709/26/214636uooowz3aoq3z1gcq.png

用一节课的时间,提高生活幸福感
------小甲鱼

欢乐与傻笑并存

智慧与邪恶同在

教程内涵------



这次介绍的方式通常是在不能应用混合的构造函数/原型方式时的变通方法。

它的目的是:
        创建假构造函数,只返回另一种对象的新实例。

这段代码看起来与工厂函数非常相似:
function Car() {

var oTempCar = new Object;

oTempCar.color = "blue";
oTempCar.doors = 4;
oTempCar.mpg = 25;
oTempCar.showColor = function() {
    alert(this.color);
};

return oTempCar;
}

与经典方式不同,这种方式使用 new 运算符,使它看起来像真正的构造函数:
var car = new Car();

由于在 Car() 构造函数内部调用了 new 运算符,所以将忽略第二个 new 运算符(位于构造函数之外)。

在构造函数内部创建的对象被传递回变量 car。

这种方式在对象方法的内部管理方面与经典方式有着相同的问题。

强烈建议:
        除非万不得已,还是避免使用这种方式。


这位鱼油,如果喜欢本系列笔记,请订阅 专辑☞(传送门)(不喜欢更要订阅{:10_278:} )

如果喜欢,别忘了评分{:10_281:} :

http://xxx.fishc.com/forum/201709/19/094516hku92k2g4kefz8ms.gif
页: [1]
查看完整版本: 0 0 1 9 ㊣ ES 混合工厂方式