首页 > Web开发 > 详细

javascript创建对象之寄生构造函数模式(六)

时间:2014-03-11 22:09:47      阅读:477      评论:0      收藏:0      [点我收藏+]

这种模式的基本思想是创建一个函数,该函数的作用仅仅是封装创建对象的代码,然后再返回新创建的对象;

但是从表面上看,这个函数有很像典型的构造函数.

bubuko.com,布布扣
 1 function createHuman(name,sex) {
 2             var obj = new Object();
 3             obj.name = name;
 4             obj.sex = sex;
 5             obj.say = function () {
 6                 alert(this.name);
 7             }
 8         }
 9         var man = createHuman("李白", "男");
10         var woman = createHuman("武则天", "女");
bubuko.com,布布扣

除了使用new操作符并把使用的包装函数叫做构造函数之外,这个模式和工厂模式一模一样.

这个模式可以在特殊的情况下,用来为对象创建构造函数.

bubuko.com,布布扣
 1 function printArray() {
 2             var values = new Array();
 3             for (var i = 0; i < arguments.length; i++) {
 4                 values.push(arguments[i]);
 5             }
 6                 values.print = function () {
 7                     return this.join("|");
 8                 }
 9                 return values;
10         }
11         var roles = new printArray("爸爸", "妈妈", "弟弟");
12         alert(roles.print());//爸爸|妈妈|弟弟
bubuko.com,布布扣

这种模式返回的对象与在构造函数外部创建的对象没有什么不同.

所以无法用instanceof操作符来确定对象类型.因为这个缘故,这种模式使用的很少.

javascript创建对象之寄生构造函数模式(六),布布扣,bubuko.com

javascript创建对象之寄生构造函数模式(六)

原文:http://www.cnblogs.com/guoyansi19900907/p/3593365.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!