全网整合营销服务商

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

免费咨询热线: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 


相关文章: 云南网站制作公司有哪些,云南最好的招聘网站是哪个?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  建站主机无法访问?如何排查域名与服务器问题  如何通过免费商城建站系统源码自定义网站主题与功能?  c# 服务器GC和工作站GC的区别和设置  建站之星安装后如何配置SEO及设计样式?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  怎么将XML数据可视化 D3.js加载XML  建站之星导航配置指南:自助建站与SEO优化全解析  PHP 500报错的快速解决方法  如何确认建站备案号应放置的具体位置?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  西安大型网站制作公司,西安招聘网站最好的是哪个?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  建站之星会员如何解锁更多建站功能?  做企业网站制作流程,企业网站制作基本流程有哪些?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  如何快速搭建虚拟主机网站?新手必看指南  如何用西部建站助手快速创建专业网站?  大连 网站制作,大连天途有线官网?  开封网站制作公司,网络用语开封是什么意思?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  C#怎么创建控制台应用 C# Console App项目创建方法  如何快速搭建高效可靠的建站解决方案?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  如何在宝塔面板创建新站点?  小建面朝正北,A点实际方位是否存在偏差?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  制作网站的基本流程,设计网站的软件是什么?  如何通过多用户协作模板快速搭建高效企业网站?  如何构建满足综合性能需求的优质建站方案?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  如何通过万网虚拟主机快速搭建网站?  ,制作一个手机app网站要多少钱?  建站主机解析:虚拟主机配置与服务器选择指南  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  盐城做公司网站,江苏电子版退休证办理流程?  如何选择适合PHP云建站的开源框架?  如何选择高效便捷的WAP商城建站系统?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  如何在西部数码注册域名并快速搭建网站?  再谈Python中的字符串与字符编码(推荐)  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  建站org新手必看:2024最新搭建流程与模板选择技巧  北京网站制作公司哪家好一点,北京租房网站有哪些?  网站专业制作公司有哪些,做一个公司网站要多少钱?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程? 

您的项目需求

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