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函数名,然后传入需要的参数,完成构造 。
  • 相关阅读:
    小记面向对象
    公司分层思想的演化历程
    我对uml类图关系的理解
    cms真实问题的来源以及模拟解决方案
    HTTP 协议基础
    Requests库
    接口测试概念
    Python中的strip()函数的用法
    Robot Framework环境搭建
    Python unittest excel数据驱动
  • 原文地址:https://www.cnblogs.com/bugluo/p/2779644.html
Copyright © 2011-2022 走看看