之前对构造函数和工厂函数有一定的困扰,究竟什么是工厂函数什么才算是构造函数。在网上查了他两的区别后发现大多数讲的都不尽人意,可以说是越看越懵,后来被我们老大看到了,很有意思的说,这个他们说的都不是那么一回事,算了我来和你讲吧。
“我问你,工厂主要是做什么的?”
“额…制造大量相同东西的…一个地方?”
“差不多,但不是都是相同的,也可以做不一样的,就像做鞋的工厂专门制造各种鞋子,做衣服的工厂会做各种衣服一样,工厂函数也是差不多这个道理。先给你看一个例子。”
function Dogs(name,color){
this.name = name;
this.color = color
}
function Person(name,age,job){
this.name = name;
this.age = age;
this.job = job;
}
...
function my_factory(model,property){
switch (model):
case 'Dogs':
return new Dogs(property['name'],property['color']);