- A+
所属分类:Web前端
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();