zoukankan      html  css  js  c++  java
  • js与设计模式简单工厂

    简单工厂模式是由一个方法来决定到底要创建哪个类的实例, 而这些实例经常都拥有相同的接口.
    这种模式主要用在所实例化的类型在编译期并不能确定, 而是在执行期决定的情况。
    比如ajax会有jsonp、get、post等方式的调用方法。
    var request1 = Request('cgi.xx.com/xxx' , ''get' );
    var request1 = Request('cgi.xx.com/xxx' , ''post' );
     
    以下代码为模拟js构造函数
    function ObjectFactory(){
          var obj = {},
        //把传入的参数当作数组保存在Constructor,call方法意为调用数组的shift方法执行arguments的内容
          Constructor = Array.prototype.shift.call( arguments );
        //郁闷,求大神指点
        obj.__proto__ =  typeof Constructor .prototype === 'number'  ? Object.prototype
    :  Constructor .prototype;
                  var ret = Constructor.apply( obj, arguments );
                  return typeof ret === 'object' ? ret : obj;
           }
       function A( name ){
                  this.name = name; 
           }
     
     var a = ObjectFactory( A, 'svenzeng' );
            alert ( a.name );  //svenzeng
     
    ObjectFactory函数模拟JavaScript的new的过程,就是一个工厂,传入A函数名,然后传入需要的参数,完成构造 。
  • 相关阅读:
    算法训练 区间k大数查询
    算法训练 最大最小公倍数
    身份证号码升级
    python包与模块导入
    python函数
    HDU 3595 博弈论,被支配的恐惧
    BZOJ 3195 [Jxoi2012]奇怪的道路
    大暑假集训
    [Poi2010]Monotonicity 2
    BZOJ 4868 HEOI 期末考试
  • 原文地址:https://www.cnblogs.com/bugluo/p/2779644.html
Copyright © 2011-2022 走看看