前端设计模式复习之构造器模式

78 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情

  • 构造器模式
  • 对象创建
  • 基础构造器
  • 使用“原型( prototype )”的构造器

定义

是一个当新建对象的内存被分配后,用来初始化改对象的一个特殊函数,对象构造器被用来创建特殊类型,也是一个对象,可以通过参数,对成员属性和方法进行赋值。对象构造器是被用来创建特殊类型的对象,首先它要准备使用的对象,其次在对象初次被创建时,通过接收参数,用来对成员的属性和方法进行赋值。

创建新对象

在JavaScript中,对象是一组无序的相关属性和方法的集合。所有的实物都是对象,例如,字符串、数值、数组、函数等。 创建一个新对象有三种基本方式:

一、通过字面量创建对象

var a = {};

注意:

  1. 调用对象的方法是通过 对象名.方法名() 来进行调用的,方法名后面要跟小括号

二、通过new Object来创建对象

var a = Object.create({})

注意:

  1. 属性名和方法名后面跟等号。
  2. 多个属性和方法之间要用分号隔开。

三、通过构造函数创建对象

var a = new Object();

注意:

  1. 方法名和属性名后跟的是等号。
  2. 多个方法和属性之间要用分号隔开。

构造器模式的优缺点

优点:

每个实例的公共对象都是不同的, 不会相互影响。

缺点:

  1. 每一次实例化, 该对象内部函数都会被创建一遍,类的函数都会被重新定义

  2. 对象继承并需要在子类中调用父类的方法是不可能的, 只可以覆盖或者使用,难以继承

解决方法:使用原型(prototype) 构造器

在 JavaScript 中函数有一个 prototype的属性。当我们调用 JavaScript 的构造器,创建一个对象时,构造函数 prototype上的属性对于所创建的对象来说都能被访问和调用