欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-07 20:00:20
本文实例讲述了javascript设计模式之adapter模式。分享给大家供大家参考,具体如下: 所谓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程序设计有所帮助。