zoukankan      html  css  js  c++  java
  • javascript中对象的创建构造函数模式

    function Person(name,age,job){
        this.name=name;
        this.age=age;
        this.job=job;
        this.sayName=function(){
            alert(this.name);
        };
    }    
    var person1=new Person("null",25,"Software Engineer");
    var person2=new Person("null2",250,"Software Engineer");

    与工厂模式区别:

    1.没有显式创建对象

    2.直接将属性和方法赋给了作用域

    3.没有return语句

    构造函数模式的创建步骤:

    1.创建一个新对象

    2.将构造函数的作用域赋值给新对象(因此this就指向了这个新对象)

    3.执行构造函数中的代码(为这个新对象添加属性)

    4.返回新对象

    alert(person1.constructor==Person);//true
    alert(person2.constructor==Person);//true
    
    alert(person1 instanceof Object);//true
    alert(person1 instanceof Person);//true
    alert(person2 instanceof Object);//true
    alert(person2 instanceof Person);//true

      创建自定义的构造函数意味着将来可以将它的实例标识为一种特定的类型,这里是Person,这正是构造函数模式胜过工厂模式的地方,当然,它们同时Object的实例(所有对象均继承自Object).

  • 相关阅读:
    [转]中国诗歌简史
    [转]古典诗词综述
    sqlite元数据
    hihocoder第226周:打表找规律
    理解bleu
    tensorflow代码中的一个bug
    tensorflow中的sequence_loss_by_example
    numpy二分查找
    一道贪心:加括号使算式的值最大
    kafaka可视化工具
  • 原文地址:https://www.cnblogs.com/nullcnb/p/3653163.html
Copyright © 2011-2022 走看看