成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

JavaScript設計模式--簡單工廠模式實例分析【XHR工廠案例】

瀏覽:98日期:2023-10-25 17:59:01

本文實例講述了JavaScript設計模式--簡單工廠模式。分享給大家供大家參考,具體如下:

第一步,Ajax操作接口(目的是起一個接口檢測作用)

(1)引入接口文件

//定義一個靜態方法來實現接口與實現類的直接檢驗//靜態方法不要寫出Interface.prototype ,因為這是寫到接口的原型鏈上的//我們要把靜態的函數直接寫到類層次上//(1)定義一個接口類var Interface=function (name,methods) {//name:接口名字 if(arguments.length<2){ alert('必須是兩個參數') } this.name=name; this.methods=[];//定義一個空數組裝載函數名 for(var i=0;i<methods.length;i++){ if(typeof methods[i]!='string'){ alert('函數名必須是字符串類型'); }else { this.methods.push( methods[i]); } }};Interface.ensureImplement=function (object) { if(arguments.length<2){ throw new Error('參數必須不少于2個') return false; } for(var i=1;i<arguments.length;i++){ var inter=arguments[i]; //如果是接口就必須是Interface類型 if(inter.constructor!=Interface){ throw new Error('如果是接口類的話,就必須是Interface類型'); } //判斷接口中的方法是否全部實現 //遍歷函數集合 for(var j=0;j<inter.methods.length;j++){ var method=inter.methods[j];//接口中所有函數 //object[method]傳入的函數 //最終是判斷傳入的函數是否與接口中所用函數匹配 if(!object[method]||typeof object[method]!='function' ){//實現類中必須有方法名字與接口中所用方法名相同 throw new Error('實現類中沒有完全實現接口中的所有方法') } } }}第二步,實例化一個可以具體的ajax接口

var AjaxHandler=new Interface('AjaxHandler',['request','createXhrObject']);第三步,針對接口的ajax實現類

(1)定義一個空類

var SimpleHandler=function(){};

(2)在該空類上直接擴展原型---實現接口里面的方法

SimpleHandler.prototype={ /* * method:get post * url:請求地址 * callback:回調函數 * postVars:傳入參數 * */ request:function (method,url,callback,postVars) { //1,使用工廠得到xhr對象 var xhr=this.createXhrObject(); xhr.onreadystatechange=function () { //4代表的意思是交互完成 if(xhr.readyState!=4) return; //200值的是正常交互完成 //404文件未找到 //500 內部程序出錯 (xhr.status==200)?callback.success(xhr.responseText,xhr.responseXML): callback.failure(xhr.status); } //打開鏈接 xhr.open(method,url,true); //設置參數 if(method!='POST'){ postVars=null; } xhr.send(postVars); }, //2,獲取xhr的方法--不同瀏覽器不一樣 createXhrObject:function () { var methods=[ function () {return new XMLHttpRequest();}, function () {return new ActiveXObject('Microsoft.XMLHTTP');} ]; //利用try--catch 制作一個智能循環體 for(var i=0;i<methods.length;i++){ try{methods[i](); }catch(e) {continue;//回到循環開始的地方重新開始 } this.createXhrObject=methods[i]();//非常重要,只有這樣才能確保不用每一次請求,全循環數組 return methods[i](); } //如果全不對則報錯 throw new Error('error'); } };第三步,使用檢驗

(1)實例化對象

var myHandler=new SimpleHandler();

(2)接口檢驗實現類是否完全實現接口中的方法

Interface.ensureImplement(myHandler,AjaxHandler);//檢驗是否實現接口中所有方法

(3)定義一個回調對象

var callback={ success:function (responseText) { alert('ok'); }, failure:function (status) { alert(status+'failure') } };

(4)最終的使用格式

myHandler.request('POST','http://www.baidu.com',callback);//若url為''會默認為本地的鏈接,其他正確的鏈接,會出現跨域問題

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲欧洲一二三| 亚洲欧美日韩在线观看a三区| 欧美无砖专区一中文字| 欧美1区3d| 极品少妇xxxx精品少妇| 国产精品久久午夜夜伦鲁鲁| 色妞www精品视频| 91美女福利视频| 亚洲mv在线观看| 欧美激情一区二区在线| 久久婷婷麻豆| 伊人成年综合电影网| 国产精品一级黄| 一区二区三区国产豹纹内裤在线| 欧美人与z0zoxxxx视频| 国产精品久久久久久模特| 欧美jizzhd精品欧美喷水 | 欧美顶级少妇做爰| 亚洲制服少妇| 亚洲国产精品综合| 91在线云播放| 丰满亚洲少妇av| 奇米影视在线99精品| 亚洲人成精品久久久久| 精品久久久久久无| 精品国产伦理网| 中国成人亚色综合网站| 久久综合狠狠综合久久综合88| 国产日韩欧美不卡| 日韩久久久久久| 日本不卡不码高清免费观看| 国产一区二区免费看| av色综合久久天堂av综合| 国产精品一区在线播放| 国产农村妇女精品| 国产成人免费高清| 精品一区二区精品| 欧美一级黄色大片| 欧美日韩www| 色综合久久天天| 国产乱码精品一区二区三区不卡| 午夜精品一区二区三区四区| 国产成人综合在线观看| 亚洲一区二区3| 精品国产电影一区二区| 欧美色精品在线视频| 日本道精品一区二区三区 | 亚洲午夜日本在线观看| 综合色中文字幕| 亚洲免费视频成人| 一区二区三区精品在线观看| 亚洲欧美另类久久久精品2019| 国产亚洲欧美日韩日本| 国产三级一区二区| 中文字幕一区二区三区在线播放| 中文字幕精品三区| 亚洲色图视频网| 亚洲国产日产av| 秋霞国产午夜精品免费视频| 国内精品视频一区二区三区八戒| 国内精品伊人久久久久av一坑| 国产精品一区一区| 国产成人综合视频| 99精品一区二区| 樱桃成人精品视频在线播放| 亚洲三级网站| 色久优优欧美色久优优| 欧美日韩小视频| 亚洲精品一区二区三区精华液| 国产亚洲制服色| 亚洲一区二区中文在线| 精品一区二区在线免费观看| 成人免费视频免费观看| 亚洲黄色一区二区三区| 在线亚洲高清视频| 日韩精品一区二区在线观看| 国产精品日日摸夜夜摸av| 国产亚洲精品7777| 欧美午夜在线一二页| 欧美激情中文不卡| 日韩精品一区第一页| 91影院在线免费观看| 久久国产福利| 国产亚洲精品超碰| 免费看日韩精品| 一区三区视频| 久久久久97国产精华液好用吗| 日本午夜一本久久久综合| 欧美激情视频一区二区三区在线播放| 一本大道av伊人久久综合| 国产精品免费视频观看| 粉嫩aⅴ一区二区三区四区| 日本不卡高清视频| 欧美成va人片在线观看| 激情综合色综合久久综合| 欧美精品一区二区三区高清aⅴ| 伊甸园精品99久久久久久| 成人黄色综合网站| 一区二区三区精密机械公司| 在线观看免费一区| 欧美日韩精品综合| 波多野洁衣一区| 丁香天五香天堂综合| 免费人成精品欧美精品| 在线观看免费视频综合| 91视频一区二区三区| 中文字幕亚洲在| 99精品99久久久久久宅男| 黄色精品网站| 成人免费va视频| 亚洲免费看黄网站| 久久综合久久综合久久| 日本电影亚洲天堂一区| 亚洲一区成人| 亚洲激情自拍| 国产视频一区三区| 欧美mv日韩mv国产网站app| 国产精品午夜免费| 国产美女av一区二区三区| 99久久国产综合色|国产精品| 国产视频不卡| 欧美高清一级片在线| 久久精品人人爽人人爽| 亚洲天堂2014| 美国毛片一区二区三区| 亚洲午夜精品久久久久久app| 91精品国产福利| 久久国产精品99久久人人澡| 色综合久久中文字幕综合网| 久久免费国产精品| 欧美videos中文字幕| 久久香蕉国产线看观看99| 亚洲精品一二三区| 成人丝袜视频网| 亚洲一区二区三区色| 国产精品进线69影院| 99久久精品免费看| 欧美日韩亚洲综合一区二区三区| 日本欧美久久久久免费播放网| 欧美激情综合色综合啪啪| 欧美日韩一级黄| 亚洲一区在线观看免费观看电影高清| 国产福利视频一区二区三区| 亚洲看片一区| 国产精品网曝门| 韩国av一区| 看电视剧不卡顿的网站| 亚洲天堂久久| 91精品国产色综合久久久蜜香臀| 亚洲图片激情小说| 91亚洲精品久久久蜜桃| 亚洲精品一线二线三线无人区| 狠狠色丁香久久婷婷综| 欧美成人三级在线| 专区另类欧美日韩| 91偷拍与自偷拍精品| 日韩视频在线观看一区二区| 奇米精品一区二区三区在线观看 | 国产日韩精品久久| 欧美高清在线视频| 欧美日韩成人| 午夜精品影院在线观看| 午夜精品美女久久久久av福利| 精品福利一二区| 国产在线精品一区二区不卡了| 久久亚洲欧洲| 日韩av电影一区| 色琪琪一区二区三区亚洲区| 精品一区二区免费在线观看| 日韩一区二区影院| 欧美91大片| 欧美精品tushy高清| 国产美女主播视频一区| 久久久久久久久久久久久久一区| 久久精品欧美一区二区三区麻豆| www.亚洲国产| 国产精品福利一区二区三区| 欧美视频一区二区三区| 国产精品亚洲一区二区三区在线| 91福利国产成人精品照片| 麻豆精品一区二区综合av| 4438亚洲最大| 亚洲网站在线| 成人激情免费电影网址| 国产精品久久久久精k8| 韩国av一区| 亚洲一区二区三区在线| 欧美精品久久天天躁| 国产精品v一区二区三区| 国产999精品久久| 日本一区二区三区高清不卡| 在线日韩av| 亚洲福利电影网| 日韩免费看的电影| 日韩午夜黄色| 亚洲美女视频在线免费观看 | 丁香网亚洲国际| 国产精品成人在线观看| 9国产精品视频| 免费观看成人av|