有关Js 创建对象的几种方式

  • A+
所属分类:Web前端
摘要

JS 创建对象的几种方式自定义构造函数构造函数是根据具体的事物抽象出来的抽象模板

JS 创建对象的几种方式

  • new Object()构造函数
​         var student1 = new Object();  ​         student.name = "zs";  ​         student.id = 123;  ​         student.message = function(){  ​                 console.log("name:" + name + "id:" + id);  ​          }  ​      //调用方法  ​      student1.message(); 
  • 对象字面量{}
  var student2 = {    ​       name: "zs",    ​       id: 123,    ​       message: function(){    ​             console.log("name:" + name + "id:" + id);    ​       }    }   student2.message(); 
  • 工厂函数
  function createStudent(name,id){    ​      var student = new Object();    ​      student.name = name;    ​      student.id = id;    ​      student.message = function(){    ​         console.log("name:" + this.name + "id:" + this.id);    ​      }    ​      return student;    } 
  //字面量写法    function createStudent(name,id){    ​    return {    ​              name : name;    ​               id : id;    ​               message : function(){    ​                    console.log("name:" + this.name + "id:" + this.id);    ​               }    ​     };    }    //生成真正的对象    var student3 = createStudent("zs",456);    var student4 = createStudent("zw",123);    student3.message(); 
  • 自定义构造函数

    • 构造函数是根据具体的事物抽象出来的抽象模板

    • 实例对象是根据抽象的构造函数模板得到的具体实例对象

    • 与工厂函数不同的是,构造函数的命名首字母大写,构造函数内部,不用构造一个空对象再赋值给变量里,直接将属性添加给this关键字,没有return语句。

   function Student(name,id){    ​      this.name = name;    ​      this.id = id;    ​      this.message = function(){    ​              console.log(this.name + "," + this.id);    ​      };    }    //生成对象实例    var student5 = new Student("ls",789);    //调用方法    student5.message();