zoukankan      html  css  js  c++  java
  • JavaScript中的构造函数和工厂函数说明

    在cnblog上看到一篇文章,讲解JS中的构造函数和工厂函数,觉得讲的真好

    JavaScript中的工厂函数和构造函数都能用来创建一个对象,我们可以来看看下面的例子

    构造函数

    function createStudent(id,name,class,grade){
       
                 var o = new Object();
                 o.id = id;
                 o.name = name;
                 o.class = class;
                 o.grade = grade;
                 o.GetInfo = function(){
    
                 console.log("学生" + this.name + "来自" + this.class + "班级");
    
                  }
    
                return 0;
    }
    
    var student1 = new createStudent(1,"Luke","Class 1", 5);
          student1.GetInfo();

    JavaScript中的构造函数

    function Student(id,name,class,grade){
        
               this.id = id;
               this.name = name;
               this.class = class;
               this.grade = grade;
               this.GetInfo = function(){
                 console.log("学生" + this.name + "来自" + this.class + "班级");
              } 
    }
    var student2 = new Student(2,"Mike","Class 3",6);
    student2.GetInfo();

      可以看出,上面两个代码片段都能去创建一个Student对象,区别在于,在用工厂函数创建Student对象时,无法知道这个对象的类型, 但用构造函数创建对象时,能够很明确地知道它是什么类型

    具体如下

    console.log(student1 instanceof Student)  返回false, Student1 是Object类型

    console.log(student2 instanceof Student) 返回true

  • 相关阅读:
    c++计算器后续(1)
    第七次作业
    第六次作业之计算器图形界面(之骗分)
    C++课堂作业二之反转链表
    第五次作业(计算器第三步之文件输入输出)
    ARP详解和ARP攻击
    网络基础-端口
    网络基础-子网掩码
    Informatica ODBC的使用
    linux7 grub配置文件 linux6 grub配置文件
  • 原文地址:https://www.cnblogs.com/wphl-27/p/9815091.html
Copyright © 2011-2022 走看看