JavaScript创建对象的几种模式

工厂模式

  

构造函数模式   问题:方法也变成多份。若把方法移到对象定义的外部。则破坏了封装性

  

原型模式  问题:原型中的引用对象会变成单份。被所有实例共享。

  

  用delete关键字来删除对象实例中的值

  hasOwnProperty() 对象实例中存在值,返回true

  in关键字  是否可以访问到属性

  hasPrototypeProperty()  是否有原型属性

  对象的key方法。获取key的属性

组合构造模式和原型模式  最常用的模式

  

  在构造函数中定义属性。在原型中定义方法

动态原型模式

  在构造函数中,创建原型方法之前,先检测是否存在

寄生构造函数模式  

  与工厂方法一样

稳妥构造函数模式

  对象实例中的属性。只能通过方法来访问

  

原文地址:https://www.cnblogs.com/amibandoufu/p/4956493.html