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>
时间: 2024-09-30 09:27:47