本文实例讲述了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
相关文章:
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
如何挑选最适合建站的高性能VPS主机?
如何选择香港主机高效搭建外贸独立站?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
制作网页的网站有哪些,电脑上怎么做网页?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
建站主机与服务器功能差异如何区分?
javascript中的try catch异常捕获机制用法分析
黑客入侵网站服务器的常见手法有哪些?
如何快速生成专业多端适配建站电话?
定制建站流程解析:需求评估与SEO优化功能开发指南
微信小程序 input输入框控件详解及实例(多种示例)
建站之星与建站宝盒如何选择最佳方案?
建站之星后台管理如何实现高效配置?
已有域名如何免费搭建网站?
实例解析Array和String方法
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
建站之星如何快速更换网站模板?
广东企业建站网站优化与SEO营销核心策略指南
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
平台云上自助建站如何快速打造专业网站?
深圳网站制作的公司有哪些,dido官方网站?
学校建站服务器如何选型才能满足性能需求?
济南专业网站制作公司,济南信息工程学校怎么样?
网站代码制作软件有哪些,如何生成自己网站的代码?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
如何快速搭建二级域名独立网站?
网站制作公司,橙子建站是合法的吗?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
制作表格网站有哪些,线上表格怎么弄?
制作农业网站的软件,比较好的农业网站推荐一下?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
公司门户网站制作流程,华为官网怎么做?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
网站制作说明怎么写,简述网页设计的流程并说明原因?
如何在云主机快速搭建网站站点?
如何快速启动建站代理加盟业务?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
Python文件管理规范_工程实践说明【指导】
如何在阿里云ECS服务器部署织梦CMS网站?
如何在Windows服务器上快速搭建网站?
威客平台建站流程解析:高效搭建教程与设计优化方案
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
Thinkphp 中 distinct 的用法解析
建站之星图片链接生成指南:自助建站与智能设计教程
定制建站哪家更专业可靠?推荐榜单揭晓
*请认真填写需求信息,我们会在24小时内与您取得联系。