<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">Javascript创建对象,常用的</span>
1、工厂模式
function createPerson(name, age, job){
var o = new Object();
o.name = name;
o.age = age;
o.job = job;
o.sayName = function(){
<span style="white-space:pre"> </span>alert(this.name);
}
return o;
}
2、构造函数模式
function Person(name, age, job) {
this.name = name;
this.age = age;
this.job = job;
this.sayName = function(){
alert(this.name);
}
}
相比第一种方式,少了对象的创建和 return
3、原型模式
function Person(){
}
Person.prototype.name = "Nicholas";
Person.prototype.age = 29;
Person.prototype.job = "Software Engineer";
Person.prototype.sayName = function(){
alert(this.name);
}
var person1 = new Person();
person1.sayName();
var person2 = new Person();
person2.sayName(); //"Nicholas"
alert(person1.sayName == person2.sayName); //true
想必第二种,将方法变成了一个对象
4、构造函数+原型形模式
function Person(name){
this.name = name;
}
Person.prototype.sayName = function(){
alert(this.name)
}