首页 > 代码库 > 函数创建对象(5)寄生构造函数和稳妥构造函数模式
函数创建对象(5)寄生构造函数和稳妥构造函数模式
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操作符对这种对象也没有意义
函数创建对象(5)寄生构造函数和稳妥构造函数模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。