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

Javascript创建对象 -- 工厂模式

时间:2014-10-08 18:03:45      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   ar   java   sp   div   c   

 1 function createPerson(name, age) {
 2     var o = new Object();
 3     o.name = name;
 4     o.age = age;
 5     o.sleep = function() {
 6         alert("sleeping...");
 7     }
 8     return o;
 9 }
10 var p1 = createPerson("cai10", 22);
11 var p2 = createPerson("cai20", 25);
12 alert(p1.name);
13 alert(p1.age);
14 p1.sleep();
15 alert(typeof p1);
16 alert(p1 instanceof Object);
17 alert(p1.constructor);
18 alert(p1.sleep == p2.sleep);
19 // cai10
20 // 22
21 // sleeping...
22 // object
23 // true
24 // function Object() {
25 //    [native code]
26 // }
27 // false

工厂模式, 即以函数来封装以特定接口创建对象的细节.
函数createPerson()可以通过接受参数来创建含有必要信息的Person对象,
可以多次调用此函数, 每次返回一个包含两个属性和一个方法的对象,
但无法知道一个对象的类型, 即通过typeof,constructor等无法确定对象类型.
此外, p1和p2都有一个sleep()方法, 但它们不是同一个Function实例, 创建两个同样的Function实例是没有必要的,
后面的创建对象模式会解决此些问题.

如有错误, 请指正, 谢谢...

Javascript创建对象 -- 工厂模式

标签:style   blog   color   io   ar   java   sp   div   c   

原文地址:http://www.cnblogs.com/lzj0616/p/4011056.html

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