js批量创建对象的方式

我们一般使用字面量的形式var obj = {},或者构造函数的方式var obj = new Object() 创建对象。

但是以上创建方式对于批量创建对象的时候,会产生大量的重复代码。因此我们可以使用函数来进行模拟,从而产生出可复用的对象创建方式

一:工厂模式

工厂模式的主要工作原理是用函数来封装创建对象的细节,从而通过调用函数来达到复用的目的。

但是它有一个很大的问题就是创建出来的对象无法和某个类型联系起来,它只是简单的封装了复用代码,而没有建立起对象和类型间的关系。

二:自定义构造函数

js 中每一个函数都可以作为构造函数,只要一个函数是通过 new 来调用的,那么我们就可以把它称为构造函数。new调用构造函数首先会创建一个对象,然后将对象的原型指向构造函数的 prototype 属性,然后将执行上下文中的 this 指向这个对象,再执行整个函数,最后返回新建的对象。

构造函数模式相对于工厂模式的优点是,所创建的对象和构造函数建立起了联系,因此我们可以通过原型来识别对象的类型。但是构造函数存在一个缺点就是,造成了不必要的函数对象的创建,因为在 js 中函数也是一个对象,因此如果对象属性中如果包含函数的话,那么每次我们都会新建一个函数对象,浪费了不必要的内存空间,因为函数是所有的实例都可以通用的。

 

posted @ 2020-08-04 12:10  MIKE-CHOW  阅读(864)  评论(0)    收藏  举报