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