一、普通写法
- 创建一个obj对象,赋予该对象属性值和方法
var person = new Object();
person.name = "cxk";
person.sex = "女";
person.like = "唱、跳、rap和篮球";
person.show = function(){
console.log("大家好,我是"+this.name+",喜欢"+this.like);
}
二、工厂模式
- 顾名思义,工厂模式就好比一个加工厂,下面这段代码就是创建一个人的工厂,工厂创建一个对象,赋予这个对象属性和方法,最后返回对象,一个人就出来了。
function CreatePerson(name,sex,like){
//创建对象
var obj = new Object();
//赋值
obj.name = name;
obj.sex = sex;
obj.like = like;
//方法
obj.show = function(){
console.log("大家好,我是"+this.name+",喜欢"+this.like);
}
//返回对象
return obj;
}
三、构造函数模式
- 构造函数就是初始化类的函数,new后面就是构造函数,构造函数中的this指向当前对象,一般首字母大写
function CreatePerson(name,sex,like){
this.name = name;
this.sex = sex;
this.like = like;
this.show = function(){
console.log("大家好,我是"+this.name+",喜欢"+this.like);
}
}
四、原型模式
- 原型用于存放公用的方法或属性,让公用的方法或属性在内存中存在一份,提升性能
function Person(name,sex,like){
Person.prototype.name = name;
Person.prototype.sex = sex;
Person.prototype.like = like;
Person.prototype.show = function(){
console.log("大家好,我是"+this.name+",喜欢"+this.like);
}
}
五、混合模式
function CreatePerson(name,sex,like){
this.name = name;
this.sex = sex;
this.like = like;
}
CreatePerson.prototype.show = function(){
console.log("大家好,我是"+this.name+",喜欢"+this.like);
}