本文实例讲述了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小时内与您取得联系。