1.字面创建
var person ={
name: "李磊",
age: 21,
sex:"男",
say: function(){
alert(this.name);
}
};
2.调用构造函数
var person = new Object();
person.name = "李磊";
person.age= 21;
person.sex= "男";
person.say=function(){
alert(this.name);
}
3.自定义构造函数
function Person (name,age,sex){
this.name=name
this.age=age
this.sex=sex
this.say=function(){
alert(this.name);
}
}
var person1 = new Person( "李磊",21,"男");
4.工厂模式
function createPerson (name,age,sex){
var per = new Object()
per.name=name
per.age=age
per.sex=sex
per.say=function(){
alert(this.name);
}
return per
}
var person1 = createPerson ( "李磊",21,"男")
构造函数和工厂模式共同点:都是函数,都可以创建对象并传参。不同之处:构造函数:(函数名开头大写,this指向当前对象,通过new方式创建对象),工厂模式(有new,函数名小写,有返回值,new之后是当前对象,直接调用函数可创建对象)