美文网首页
创建对象的方法(三)

创建对象的方法(三)

作者: QinRenMin | 来源:发表于2018-06-02 12:59 被阅读0次
  • 组合使用构造函数模式和原型模式
    构造函数模式用于定义实例属性,原型模式用于定义方法和共享的属性.
    产生的结果是:每个实例都有自己的一份实例属性的副本,但同时又享有着对方法的引用.

function Peo(name,age) {
    this.name = name;
    this.age = age;
    this.p = ["pingpang","teneis"];
}

Peo.prototype = {
    constructor : Peo,
    sayName : function () {
        console.log(this.name);
    }
};

let peo1 = new Peo("wys",21);
let peo2 = new Peo("qm",20);

peo1.p.pop();
console.log(peo1.p);
console.log(peo2.p);
console.log(peo1.sayName() === peo2.sayName());

对于上面的例子来说,如果仅仅使用原型模式,当调用了person1.p.pop()后,person2中的值也会发生变化.

  • 寄生构造函数模式

与之前说的工厂模式一样,除了用new操作符并且把使用的包装函数叫做构造函数之外没啥差别

  • 动态原型模式

通过检查某个应该存在的方法是否有效,来决定是否需要初始化原型

if(typeof  this.sayName() != "function") {
    Peo.prototype.sayName = function () {
        console.log(this.name);
}
  • 稳妥构造函数模式
    可以在对象中添加私有属性,环境安全

相关文章

  • Javascript对象基础

    对象具有属性和方法两个组成。 1. 创建对象 创建对象可以采用三种方法: 创建直接的实例 使用大括号 使用对象构造...

  • javascript 对象

    创建对象的三种方法: 字面量 obj = {}、obj = new Object()、构造函数 字面量方法创建对象...

  • 创建对象的方法(三)

    组合使用构造函数模式和原型模式构造函数模式用于定义实例属性,原型模式用于定义方法和共享的属性.产生的结果是:每个实...

  • object.create(null) 和 {}创建对象的区别

    创建对象的方法 如果要创建一个空的对象,可以使用如下的三种方法 创建空对象的区别 要创建一个干净的空对象,应该使用...

  • 构造函数、原型链、继承简单理解

    1. 创建对象的三个方法 创建一个对象一般有三种方法: 字面量创建, var obj = {}; 通过Object...

  • js 创建对象

    创建对象的几种方法 方法一:new Object() 方法二:{} 方法三:function xx() 为对象中添...

  • JavaScript_对象

    一、时间对象(Date) (一)Date对象的创建 (二)Date对象的方法 (三)设置与获取的常用方法 二、对象...

  • JavaScript常用对象和方法

    String 一、创建方式 二、属性和方法 Array 一、创建方式 二、属性 三、常用方法 Date 对象的创建...

  • c++创建对象的三种方法

    c++创建对象的三种方法 c++有三种方法创建对象 结合代码来看 1#include 2usingnamespac...

  • vue时间转换为字符串

    1、方法一: 结果打印如下: 2、方法二: 3、方法三 Date 对象的方法简介: 创建新的 Date 对象语法:...

网友评论

      本文标题:创建对象的方法(三)

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