标签:不用 创建对象 方法 func new console 添加 mes 工厂
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关键字,没有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();
标签:不用 创建对象 方法 func new console 添加 mes 工厂
原文地址:https://www.cnblogs.com/dreamtown/p/14507680.html