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

  • 相关阅读:
    ubuntu(16.04.01)学习-day2
    python学习day5--set、函数
    ubuntu(16.04.01)学习-day1
    nosql
    redis学习-day1
    scrapy框架梳理
    io多路复用--本质
    异步非阻塞--高性能相关
    爬虫设计模式总结
    requests模块参数介绍
  • 原文地址:https://www.cnblogs.com/wphl-27/p/9815091.html
Copyright © 2011-2022 走看看