1 <script type="text/javascript">
2 //简单工厂模式
3 //定义:由一个方法来决定到底要创建哪个类的实例,而这些实例经常拥有相同的接口。其实例在编译的时候不确定,而是在执行的时候确定。
4 var request1=Request("cgi.xx.com/xxx","get");
5 request1.start();
6 request1.done(fn);
7 var request2=Request("cgi.xx.com//xxx","jsonp");
8 request2.start();
9 request2.done(fn);
10 //new 构造器 实际上就是简单工厂模式
11 function A (name) {
12 this.name=name;
13 }
14 function ObjectFactory(){
15 var obj={},
16 Constructor=Array.prototype.shift.call(arguments);
17 obj.__proto__=typeof Constructor.prototype==="number"?Object.prototype:Constructor.prototype;
18 var ret=Constructor.apply(obj,arguments);
19 return typeof ret==="object"?ret:obj;
20 }
21 var a=ObjectFactory(A,"svenzeng");
22 alert(a.name);
23 </script>