作家
登录

浅谈JavaScript中的接口实现

作者: 来源: 2017-08-23 09:13:02 阅读 我要评论

  •     }  
  •     this.name=name 
  •     this.methods=[];  
  •     for(var i=0;len=methods.length;i<len;i++){  
  •         if(typeof(methods[i]!=='String')){  
  •             throw new Error('method name must be String!');  
  •         }  
  •         this.methods.push(methods[i]);  
  •     }  
  •    
  •  
  • Interface.ensureImplements=function(object){  
  •     if(arguments.length<2){  
  •         throw new Error('2 arguments required at least!');  
  •     }  
  •     for(var i=0;len=arguments.length;i<len;i++){  
  •         var interface=arguments[i];  
  •         if(interface.constructor!==Interface){  
  •             throw new Error('instance must be Interface!');  
  •         }  
  •         for(var j=0;methodLength=interface.methods.length;j<methodLength;j++){  
  •             var method=interface.methods[j];  
  •             if(!object[method]||typeof(object[method])=='function')){  
  •                 throw new Error('object does not implements method!');  
  •             }      
  •         }  
  •     }  
  •  
  • 其实多半情况下,接口并不是经常被应用的,严格的类型检查并不老是明智的。然则在设计复杂的体系的时刻,接口的感化就表现出来了,这看似降低了灵活性,却同时也降低了耦合性,进步了代码的重用性。这在大年夜型体系中是比较有优势的。鄙人面的例子中,声清楚明了一个displayRoute办法,请求其参数具有三个特定的办法,经由过程Interface对象和ensureImplements办法来包管这三个办法的实现,不然将会抛掉足误。

    1. var ResultFormatter=function(resultObject){  
    2.      //对resultObject进行检查,包管是TestResult的实例  
    3.      if(!(resultObject instanceof TestResult)){ 

        推荐阅读

        谷歌Chromebook或将重生,反击微软Surface

      【51CTO晃荡】8.26 带你与清华大年夜学、搜狗、京东大年夜咖们一路商量基于算法的IT运维实践 据Engadget报道,科技媒体Android Police援引消息人士的话称,在本年秋季举办的新品宣布会上>>>详细阅读


      本文标题:浅谈JavaScript中的接口实现

      地址:http://www.17bianji.com/lsqh/36862.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)