JavaScript创建对象的七种方法

Posted 墨羽如烟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript创建对象的七种方法相关的知识,希望对你有一定的参考价值。

一、 工厂模式

创建:

function createPerson(name,behavior){
var p=new Object();
p.name=name;
p.behavior=behavior;
p.getInfo=function(){
alert(this.name+"在"+this.behavior)
}    
p.getInfo();
}
var person=createPerson("张三",["打游戏","看书"]);

二、 构造函数模式

创建:

function createPerson(name,behavior){
this.name=name;
this.behavior=behavior;
this.getInfo=function(){
alert(this.name+"在"+this.behavior)
}
}
var person=new createPerson("张三",["打游戏","看书"]);
person.getInfo();


三、原型模式

创建:

function createPerson(){}
createPerson.prototype.name="张三";
createPerson.prototype.behavior=["打游戏","看书"];
createPerson.prototype.getInfo=function(){
alert(this.name+"在"+this.behavior)
}
var person=new createPerson();
person.getInfo();

 

四、组合模式(构造函数与原型)

创建:

function createPerson(name,behavior){
this.name=name;
this.behavior=behavior;
}
createPerson.prototype.getInfo=function(){
alert(this.name+"在"+this.behavior)
}
var person=new createPerson("张三",["打游戏","看书"]);
person.getInfo();

五、动态原型模式

创建:

function createPerson(name,behavior){
this.name=name;
this.behavior=behavior;
if(typeof this.getInfo!="function"){
createPerson.prototype.getInfo=function(){
alert(this.name+"在"+this.behavior);
}    
}
}
var person=new createPerson("张三",["打游戏","看书"]);
person.getInfo();

六、寄生构造函数模式

创建:

function createPerson(name,behavior){
var p={};
p.name=name;
p.behavior=behavior;
p.getInfo=function(){
alert(this.name+"在"+this.behavior)
}    
p.getInfo(); 
}
var person=new createPerson("张三",["打游戏","看书"]);

七、稳妥构造函数模式

创建:

function createPerson(name,behavior){
var p={};
p.getInfo=function(){
alert(name+"在"+behavior)
}    
p.getInfo(); 
}

var person=new createPerson("张三",["打游戏","看书"]);

 

 

参考网址:http://www.cnblogs.com/ifat3/p/7429064.html

以上是关于JavaScript创建对象的七种方法的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 创建对象的七种方式

补充:JavaScript 创建对象的七种方式

第65期JavaScript 创建对象的七种方式

像素的存储方法显式创建Mat对象的七种方法

JS创建对象的七种方式

javascript 的七种基本数据类型