美文网首页
2018-10-23构造函数和原型组合模式

2018-10-23构造函数和原型组合模式

作者: 长弓简 | 来源:发表于2018-10-23 15:04 被阅读0次

这是目前最为常用的创建对象的方式。
这种概念非常简单,即用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法)。结果是,所有函数都只创建一次,而每个对象都具有自己的对象属性实例。此外,组合模式还支持向构造函数传递参数,可谓是集两家之所长。在所接触的js库中,jQuery类型的封装就是使用组合模式来实例的!
function Monster(name, arr){
constructor: Monster,
this.name = name;
this.job = arr;
}
Monster.prototype = {
run: function(){return this.name + '的工作是' + this.job}
}
var monsterI=new Monster('小旋风', ['巡山', ‘打更’]);
var monsterII=new Monster('小转风', ['巡山', ‘打更’]);

动态原型方法
动态原型方法的基本思想与混合的构造函数原型方式相同,即在构造函数内定义非函数属性,而函数属性则利用原型属性定义。
组合模式中实例属性与共享方法(由原型定义)是分离的,这与春面向对象语言不太一致;动态原型模式将所有构造信息都封装在构造函数中,又保持了组合的优点。
其原理就是通过判断构造函数的原型中是否已经定义了共享的方法或属性,如果没有则定义,否则不再执行定义过程。改方式只在原型上方法或属性只定义一次,且将所有构造过程都封装在构造函数中,对原型所做的修改能立即提现所有实例
function Monster(name, arr){
this.name = name;
this.job = arr;
if(typeof this.run != 'function') {
Monster.prototype = {
run: function(){return this.name + '的工作是' + this.job}
}
}
}

相关文章

  • 构造函数-js-高级程序设计-第六章笔记

    前言 理解对象 创建对象构造函数模式原型模式组合使用构造函数模式和原型模式动态原型模式寄生构造函数模式稳妥构造函数...

  • js面向对象的几种写法

    一、工厂模式 二、构造函数模式 三、原型模式 四、组合使用构造函数和原型模式 五、原型链继承 六、借用构造函数继承...

  • 第6章:创建对象的各种模式

    6.2.4 组合使用构造函数模式和原型模式 创建自定义类型的最常用方式,就是组合使用构造函数模式和原型模式。构造函...

  • Js创建对象的几种模式

    Js创建对象的几种模式 工厂模式 构造函数模式 原型模式 组合使用构造函数模式和原型模式 动态原型模式 稳妥构造函数模式

  • 关于JavaScript创建对象的多种方式

    JavaScript创建对象的方法 工厂模式 构造函数模式 原型模式 组合使用构造函数模式和原型模式 动态原型模式...

  • 绝对干货!彻底理解Js面向对象程序设计(三)

    组合使用构造函数模式和原型模式 创建自定义类型的最常见方式,就是组合使用构造函数模式与原型模式。构造函数模式用于定...

  • js面向对象设计模式

    1、工厂模式 2、构造函数模式 3、原型模式 4、组合使用构造函数模式和原型模式 5、动态原型模式 6、寄生构造函...

  • Javascript创建自定义类型

    6.2.4 组合使用构造函数模式和原型模式 创建自定义类型的最常见方式,就是组合使用构造函数模式与原型模式。构造函...

  • JavaScript创建对象

    JavaScript中创建对象有以下七种方式: 工厂模式构造函数模式原型模式构造函数和原型组合模式动态原型模式寄生...

  • 创建对象方法

    (1)工厂模式 (2)构造函数模式 (3)原型模式 (4)组合使用构造函数模式和原型模式 (1)工厂模式:缺点:不...

网友评论

      本文标题:2018-10-23构造函数和原型组合模式

      本文链接:https://www.haomeiwen.com/subject/etwozftx.html