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函数名,然后传入需要的参数,完成构造 。
  • 相关阅读:
    6.金额中带有逗号不能直接parseFloat
    5-不要在ajax中return false不会生效的
    4.xx is not defined at HTMLAnchorElement.onclick 的问题
    3.git更新地址也更改
    2.文件上传后没有权限不够
    第三章
    oracle-sql
    华为杯 数模
    Learning Dynamic Context Graphs for Predicting Social Events
    图神经网络
  • 原文地址:https://www.cnblogs.com/bugluo/p/2779644.html
Copyright © 2011-2022 走看看