js创建一个对象使用工厂模式和寄生模式究竟有什么区别?

如题,在看高程3这本书的面向对象的程序设计这一章时,有一小节专门就是介绍创建对象的7种方式,看完之后有一个疑惑,那就是工厂模式和寄生模式究竟有什么区别?
书中也很明确的说明了,两者除了调用的时候有没有用new关键字之外完全相同。那这个用意是什么呢?按道理,是否通过new生成的实例对象,最终的结果都是一样的,因为最后返回的是同一个东西。
所以,这两者的区别到底是什么呢?很疑惑,在具体的使用当中,什么时候需要用工厂模式,什么时候应该用寄生模式?

阅读 3.8k
2 个回答

笼统得讲,实际就是 你是要通过new 来返回个对象,还是通过 你在函数里面写个对象再把他返回出来。 new的话就有个 this指向的问题,但实际跟前面的函数方法,本质是一样的,这个this 你可以理解为就是 你用new的方式返回出来的那个对象 他会继承构造函数里面的属性方法,极其原型里面的相应属性方法。链接描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏