JS面向对象——动态原型模型、寄生构造模型

动态原型模型

组合使用构造函数模型和原型模型,使得OO语言程序员在看到独立的构造函数和原型时很困惑。动态原型模型致力于解决该问题,它把所有的信息封装在构造函数中,通过在构造函数中初始化原型(仅在必要情况下),同时又使用构造函数和原型的优点。

实例代码如下:




    动态原型模型
    



寄生构造函数模型

基本思想:创建一个函数,该函数作用仅仅是封装创建对象的代码,然后返回新创建的对象。

以下代码说明该模型基本思想:




    寄生构造函数模型
    



注:返回的对象与构造函数或者与构造函数的原型属性之间没有任何关系;即:构造函数返回的对象与在构造函数外部创建的对象没什么不同。不能依赖instanceof操作符来确定对象类型。

这种模式常用在特殊情况下为对象创建构造函数。

 

你可能感兴趣的:(JS面向对象——动态原型模型、寄生构造模型)