国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript多態與適配器模式思考

來源:懂視網 責編:小采 時間:2020-11-27 20:31:32
文檔

JavaScript多態與適配器模式思考

JavaScript多態與適配器模式思考:不多說先上一段代碼(轉載自《JavaScript設計模式與開發實踐》) //谷歌地圖show方法 var googleMap = { googlShow: function() { console.log("谷歌地圖"); } }; //百度地圖show方法 var baiduMap = { baiduS
推薦度:
導讀JavaScript多態與適配器模式思考:不多說先上一段代碼(轉載自《JavaScript設計模式與開發實踐》) //谷歌地圖show方法 var googleMap = { googlShow: function() { console.log("谷歌地圖"); } }; //百度地圖show方法 var baiduMap = { baiduS

不多說先上一段代碼(轉載自《JavaScript設計模式與開發實踐》)

 //谷歌地圖show方法
 var googleMap = {
 googlShow: function() {
 console.log("谷歌地圖");
 }
 };
 //百度地圖show方法
 var baiduMap = {
 baiduShow: function() {
 console.log("百度地圖");
 }
 };
 //渲染地圖函數
 var renderMap=function(map){
 if(map.show instanceof Function){
 map.show(); 
 }
 };
 renderMap(googleMap);//
輸出:開始渲染谷歌地圖 renderMap(baiduMap);//輸出:開始渲染百度地圖

對于書中拋出的問題,假設每個地圖API提供展示地圖的方法名都是show,在實際開發中也許不會如此順利,書中作者提出的思路是借助適配器模式來解決問題。下面是我仿照適配器模式改進的:

 var googleMap = {
 googlShow: function() {
 console.log("谷歌地圖");
 }
 };
 var baiduMap = {
 baiduShow: function() {
 console.log("百度地圖");
 }
 };
 
 //適配器參數配置
 var mapArg = {
 "googleMap": googleMap.googlShow,
 "baiduMap": baiduMap.baiduShow
 };
 
 //適配器地圖
 var adaptMap = {
 show: function(arg) {
 for (var imap in mapArg) {
 for (var fmap in arg) {
 if (imap && fmap && mapArg[imap].name==fmap) {
 return mapArg[imap]();
 }
 }
 }
 }
 };
 //只關注發出顯示地圖而不關注具體用哪種地圖
 var renderMap = function(arg) {
 adaptMap.show(arg);
 };
 //當增加了搜搜地圖,我們需要添加搜搜地圖的方法以及修改適配器地圖參數
 //而不需要對renderMap函數進行修改
 var sosoMap = {
 sosoShow: function() {
 console.log("搜搜地圖");
 }
 };
 mapArg.sosoMap=sosoMap.sosoShow; 
 render(sosoMap);

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JavaScript多態與適配器模式思考

JavaScript多態與適配器模式思考:不多說先上一段代碼(轉載自《JavaScript設計模式與開發實踐》) //谷歌地圖show方法 var googleMap = { googlShow: function() { console.log("谷歌地圖"); } }; //百度地圖show方法 var baiduMap = { baiduS
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 久久久久国产精品 | 国产精品久久久久久亚洲伦理 | 国产日产欧美精品一区二区三区 | 免费国产叼嘿视频大全网站 | 北条麻妃 在线 | 欧美一区二区三区不卡免费 | 国产不卡一区二区视频免费 | 亚洲欧美国产精品第1页 | 欧美爱爱网站 | 一级毛片免费观看久 | 四虎免费在线观看视频 | 国产欧美va欧美vahd | 国产精品国产亚洲精品看不卡 | 欧美在线不卡视频 | 另类区| 国产淫语打电话对白在线播放 | 一区二区成人国产精品 | 亚洲欧美视屏 | 国产高清不卡一区二区 | 日韩一区二区久久久久久 | 韩日一区二区 | 精品在线一区 | 国产在线成人一区二区三区 | 亚洲一区自拍 | 国产欧美在线播放 | 久久久一本 | 日韩免费在线观看视频 | 亚洲午夜久久久久中文字幕 | 国产一区二区三区高清 | 欧美影欧美影院免费观看视频 | 欧美在线一区二区 | 一区二区三区视频在线 | 亚洲一区免费观看 | 日韩色视频一区二区三区亚洲 | 欧美高清69hd | 欧美性第一页 | 国产精品亚洲四区在线观看 | 欧美色亚洲图 | 欧美日韩在线一区二区三区 | 亚洲国内自拍 | 亚洲一区中文字幕在线 |