JS 建立對象的幾種方式函數
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();