标签:
1.寄生构造函数模式
function Person(name,age,job){
var o=new Object();
o.mane=mane;
o .age=age;
o.job=job;
o.sayName=function(){
alert(this.name);
};
return o;
}
var friend=new Person("Nicoholas",29,"Engineer");
friend,sayName();//"Nicholas";
某些特殊情况下使用,例如:
function SpecialArray(){
var values=new Array();//创建数组
var .push.apply(values,arguments);//添加值
values.toPipedString=function(){ //添加方法
return this.join("|");
};
return values;//返回数组
}
var colors=new SpecialArray("red","blue","green");
alert(color.toPipedString());//"red|blue|green"
注意:返回的对象跟构造函数或者构造函数的原型属性没有关系;不能使用instanceof操作符来确定对象类型。
2.稳妥构造函数模式
稳妥对象没有公共属性,不能使用this,防止数据被其他应用程序改动时使用
function Person(name,age,job){
var o=new Object;//创建要返回的对象
// 可以在这里定义私有变量和函数
o.sayName=function(){//添加方法
alert(name);
};
return o;//返回对象
}
var friend=Person("Nicholas",29,"Engineer");
friend.sayName();//"Nicholas"
注意:这种模式创建的对象与构造函数之间也没有什么关系,instanceof操作符对这种对象也没有意义
标签:
原文地址:http://www.cnblogs.com/zhouchuanming/p/5861539.html