有关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

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

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

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

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();
相关文章
相关标签/搜索