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函数名,然后传入需要的参数,完成构造 。
  • 相关阅读:
    阿里妈妈MaxCompute架构演进_-_AON(MPI)集群
    阿里云ECS部署Grafana接入zabbix
    ECS实例RAM角色实践
    上海云栖—人工智能-视觉计算专场预热
    阿里云论坛版主制作最新教程汇总贴
    移动相关的css
    GULP入门(一)
    mongodb+nodejs 增删查的demo
    nodejs+express 初学(三)
    nodejs+express 初学(二)
  • 原文地址:https://www.cnblogs.com/bugluo/p/2779644.html
Copyright © 2011-2022 走看看