有關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();
相關文章
相關標籤/搜索