全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

javascript设计模式之Adapter模式【适配器模式】实现方法示例

本文实例讲述了javascript设计模式之Adapter模式。分享给大家供大家参考,具体如下:

所谓Adapter模式就是适配器模式,主要是指使两个原本没有关联的类结合一起使用。

JS实现Adapter模式示例如下:

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <script type="text/javascript" src="json.js"></script>
  <script type="text/javascript" language="javascript">
    var DataSource01={};
    DataSource01.Author="Kevin";
    DataSource01.GetName=function(){
      return "Kevin";
    };
    DataSource01.GetAge=function(){
      return 35;
    };
    var DataSource02={};
    DataSource02.Author="Leo";
    DataSource02.MyName=function(){
      return "Leo";
    };
    DataSource02.MyAge=function(){
      return 25;
    };
    var DataSource03={};
    DataSource03.Author="zhihui";
    DataSource03.Name=function(){
      return "zhihui";
    };
    DataSource03.Age=function(){
      return 25;
    };
    //讲所有的放入一个数组中
    //在生成随机数后可以以下标
    var DataSources=[DataSource01,DataSource02,DataSource03];
    var DataAdapter={};
    DataAdapter.DataSource=false;
    DataAdapter.SetDataSource=function(ds){
      DataAdapter.DataSource=ds;
    };
    DataAdapter.ReturnData=function(){
      var Data={};
      Data.Author=false;
      Data.Name=false;
      Data.Age=false;
      //生成随机数
      //用来随机模拟前台的点击
      var rand=Math.random();
      rand=Math.floor(Math.random()*3);
      console.log(rand);
      console.log(DataSources[rand]);
      DataAdapter.SetDataSource(DataSources[rand]);
      if(rand==0){
        Data.Author=DataAdapter.DataSource.Author;
        Data.Name=DataAdapter.DataSource.GetName();
        Data.Age=DataAdapter.DataSource.GetAge();
      }else if(rand==1){
        Data.Author=DataAdapter.DataSource.Author;
        Data.Name=DataAdapter.DataSource.MyName();
        Data.Age=DataAdapter.DataSource.MyAge();
      }else if(rand==2){
        Data.Author=DataAdapter.DataSource.Author;
        Data.Name=DataAdapter.DataSource.Name();
        Data.Age=DataAdapter.DataSource.Age();
      }
      return Data;
    };
    function ShowData(){
      var Data= DataAdapter.ReturnData();
      alert(Data.toJSONString());
    }
    function ChooseDS01(){
      DataAdapter.SetDataSource( DataSource01);
    }
    function ChooseDS02(){
      DataAdapter.SetDataSource( DataSource02);
    }
  </script>
</head>
<body>
<input type="button" value="DataSource01" onclick="ChooseDS01()">
<input type="button" value="DataSource02" onclick="ChooseDS02()">
<input type="button" value="Show Data" onclick="ShowData()">
</body>
</html>

更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。


# javascript  # 设计模式  # Adapter模式  # 适配器模式  # JavaScript适配器模式详解  # JavaScript设计模式之适配器模式介绍  # 深入理解JavaScript系列(39):设计模式之适配器模式详解  # 详解JavaScript实现设计模式中的适配器模式的方法  # javascript设计模式 – 适配器模式原理与应用实例分析  # JavaScript设计模式学习之适配器模式  # JavaScript 设计模式之组合模式解析  # JavaScript组合模式学习要点  # 设计模式中的组合模式在JavaScript程序构建中的使用  # javascript设计模式 – 组合模式原理与应用实例分析  # JavaScript设计模式开发中组合模式的使用教程  # javascript适配器模式和组合模式原理与实现方法详解  # 随机数  # 相关内容  # 遍历  # 数据结构  # 给大家  # 更多关于  # 所述  # 程序设计  # 面向对象  # 主要是  # 组中  # 操作技巧  # 讲述了  # src  # json  # language  # text  # title  # script  # type 


相关文章: 如何用PHP快速搭建CMS系统?  建站之星如何快速生成多端适配网站?  如何在IIS中配置站点IP、端口及主机头?  学校为何禁止电信移动建设网站?  威客平台建站流程解析:高效搭建教程与设计优化方案  建站之星备案流程有哪些注意事项?  如何在万网主机上快速搭建网站?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  香港服务器如何优化才能显著提升网站加载速度?  建站之星导航菜单设置与功能模块配置全攻略  宝塔面板创建网站无法访问?如何快速排查修复?  建站主机与服务器功能差异如何区分?  建站中国官网:模板定制+SEO优化+建站流程一站式指南  建站主机是否等同于虚拟主机?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  Thinkphp 中 distinct 的用法解析  免费视频制作网站,更新又快又好的免费电影网站?  历史网站制作软件,华为如何找回被删除的网站?  个人摄影网站制作流程,摄影爱好者都去什么网站?  微课制作网站有哪些,微课网怎么进?  如何做网站制作流程,*游戏网站怎么搭建?  建站之星如何实现五合一智能建站与营销推广?  b2c电商网站制作流程,b2c水平综合的电商平台?  建站之星ASP如何实现CMS高效搭建与安全管理?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  建站VPS选购需注意哪些关键参数?  淘宝制作网站有哪些,淘宝网官网主页?  javascript中对象的定义、使用以及对象和原型链操作小结  建站主机选购指南:核心配置优化与品牌推荐方案  如何用VPS主机快速搭建个人网站?  制作证书网站有哪些,全国城建培训中心证书查询官网?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  盐城做公司网站,江苏电子版退休证办理流程?  如何在万网ECS上快速搭建专属网站?  网站制作企业,网站的banner和导航栏是指什么?  如何在自有机房高效搭建专业网站?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  如何快速查询网址的建站时间与历史轨迹?  如何在建站主机中优化服务器配置?  建站之星后台管理如何实现高效配置?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  如何用腾讯建站主机快速创建免费网站?  已有域名能否直接搭建网站?  怎么将XML数据可视化 D3.js加载XML  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  如何批量查询域名的建站时间记录?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。