码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript创建对象的七种方法

时间:2018-03-08 23:03:50      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:gpo   com   nbsp   函数   create   script   参考   组合   bsp   

一、 工厂模式

创建:

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创建对象的七种方法

标签:gpo   com   nbsp   函数   create   script   参考   组合   bsp   

原文地址:https://www.cnblogs.com/jian138/p/8531152.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!