国产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
主站蜘蛛池模板: 91视频色 | 国产毛片一区二区三区精品 | 最新精品在线视频 | 国产毛片一级国语版 | 成人免费一级毛片在线播放视频 | 国产精品久久久久激情影院 | 国产1页| 一级毛片一级毛片一级级毛片 | 91精品国产91久久久久久最新 | 一区二区三区成人 | 91国内精品久久久久免费影院 | 中文字幕一区二区三区久久网站 | 在线中文| 亚洲国产天堂久久九九九 | 麻豆精品一区 | 91精品观看91久久久久久 | 久久一次 | 久久大陆 | 国产欧美日韩一区二区三区 | 麻豆系列| 欧美日韩a | 日韩美在线 | 毛片官网 | 欧美视频免费在线观看 | 情侣国产在线 | 免费黄毛片| 四虎成人精品免费影院 | 欧美亚洲另类综合 | 欧美 日韩 视频 | 久久精品a国产一级 | 久久大香香蕉国产免费网vrr | 日本欧美一区二区 | 亚洲欧美日本在线观看 | 国产a国产片 | 国产精品成人久久久久久久 | 日韩v欧美 | 香蕉久久ac一区二区三区 | 欧美日韩国产在线人 | 国产精品久久久久久一区二区 | 欧美老肥熟 | 亚洲日本一区二区三区高清在线 |