日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

JavaScript設(shè)計(jì)模式--簡(jiǎn)單工廠模式實(shí)例分析【XHR工廠案例】

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

本文實(shí)例講述了JavaScript設(shè)計(jì)模式--簡(jiǎn)單工廠模式。分享給大家供大家參考,具體如下:

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

(1)引入接口文件

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

var AjaxHandler=new Interface('AjaxHandler',['request','createXhrObject']);第三步,針對(duì)接口的ajax實(shí)現(xiàn)類

(1)定義一個(gè)空類

var SimpleHandler=function(){};

(2)在該空類上直接擴(kuò)展原型---實(shí)現(xiàn)接口里面的方法

SimpleHandler.prototype={ /* * method:get post * url:請(qǐng)求地址 * callback:回調(diào)函數(shù) * postVars:傳入?yún)?shù) * */ request:function (method,url,callback,postVars) { //1,使用工廠得到xhr對(duì)象 var xhr=this.createXhrObject(); xhr.onreadystatechange=function () { //4代表的意思是交互完成 if(xhr.readyState!=4) return; //200值的是正常交互完成 //404文件未找到 //500 內(nèi)部程序出錯(cuò) (xhr.status==200)?callback.success(xhr.responseText,xhr.responseXML): callback.failure(xhr.status); } //打開(kāi)鏈接 xhr.open(method,url,true); //設(shè)置參數(shù) 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 制作一個(gè)智能循環(huán)體 for(var i=0;i<methods.length;i++){ try{methods[i](); }catch(e) {continue;//回到循環(huán)開(kāi)始的地方重新開(kāi)始 } this.createXhrObject=methods[i]();//非常重要,只有這樣才能確保不用每一次請(qǐng)求,全循環(huán)數(shù)組 return methods[i](); } //如果全不對(duì)則報(bào)錯(cuò) throw new Error('error'); } };第三步,使用檢驗(yàn)

(1)實(shí)例化對(duì)象

var myHandler=new SimpleHandler();

(2)接口檢驗(yàn)實(shí)現(xiàn)類是否完全實(shí)現(xiàn)接口中的方法

Interface.ensureImplement(myHandler,AjaxHandler);//檢驗(yàn)是否實(shí)現(xiàn)接口中所有方法

(3)定義一個(gè)回調(diào)對(duì)象

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

(4)最終的使用格式

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

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

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T(mén)教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线综合亚洲| 日韩精品欧美大片| 国产视频一区二| 免费的成人av| 久久久久久黄| 一区二区不卡| 伊人久久一区| 日韩av中文字幕一区| 亚洲精品影院在线观看| 日韩av午夜在线观看| 国产视频网站一区二区三区| 麻豆久久久久久久| 亚洲精品**中文毛片| 韩国精品主播一区二区在线观看| 久久久久久网| 亚洲婷婷在线| 亚洲毛片视频| 欧美91在线| 婷婷综合六月| 亚洲欧美日韩专区| 99国产精品私拍| 欧美一区成人| 青青青免费在线视频| 午夜精品婷婷| 麻豆久久一区二区| 欧美在线观看视频一区| 亚洲丝袜啪啪| 久久久久久夜| 日韩福利视频网| 久久精品成人| 欧美精品观看| 国产二区精品| 精品日产乱码久久久久久仙踪林| 亚洲国产一区二区三区在线播放| 亚洲精品九九| 精品99在线| 亚洲1区在线| 久久亚洲在线| 精品三区视频| 日本国产欧美| 伊人久久成人| 日韩大片免费观看| 国产精品一区二区三区美女 | 精品一区毛片| 精品视频91| 欧美一区在线观看视频| 日韩视频不卡| 日韩精品不卡一区二区| 亚洲精品美女| 九色精品91| 亚洲风情在线资源| 国产另类在线| 日韩在线观看一区二区三区| 九九在线精品| 欧美国产91| 99久久久久| 久久久噜噜噜| 日韩在线精品| 新版的欧美在线视频| 国产在线视频欧美一区| 久久福利在线| 欧美激情综合| 精品午夜视频| 国产欧美视频在线| 综合激情一区| 日韩高清在线不卡| 欧美亚洲综合视频| 中文字幕av亚洲精品一部二部| 日韩国产专区| 亚洲成人免费| 日韩午夜精品| 中文字幕一区二区av| 欧美专区一区二区三区| 影音先锋久久精品| 国产精品综合色区在线观看| 国产精品亚洲人成在99www| 国产精品中文字幕亚洲欧美| 国产精品最新| 免费看久久久| а√天堂8资源在线| 色综合www| 久久国产88| 国产伦理一区| 色爱av综合网| 综合干狼人综合首页| 免费亚洲婷婷| 欧美日一区二区| 亚洲v天堂v手机在线| 色爱综合网欧美| 免费久久99精品国产自在现线| 日韩国产欧美在线视频| 精精国产xxxx视频在线野外| 性色一区二区| 精品久久不卡| 国产综合精品| 欧美激情日韩| 黄色亚洲在线| 国产一区二区三区四区五区传媒| 欧美在线资源| 国产一区二区三区四区| 蜜臀a∨国产成人精品| 国产高潮在线| 亚洲精品亚洲人成在线观看| 国产伊人久久| 亚洲日韩视频| 久久中文亚洲字幕| 精品视频99| 欧美日韩精品一区二区三区视频 | 亚洲精品麻豆| 久久精品亚洲欧美日韩精品中文字幕| 一区二区不卡| 在线午夜精品| 免费高潮视频95在线观看网站| 亚洲免费专区| 欧美性感美女一区二区| 久久亚州av| 久久不卡国产精品一区二区| 亚洲精品高潮| 水蜜桃久久夜色精品一区的特点| 成人免费电影网址| 日韩成人精品一区二区| 狠狠久久伊人中文字幕| 日韩福利视频导航| 午夜亚洲福利| 亚洲18在线| 欧美一区二区三区久久| 一区二区不卡| 中文字幕中文字幕精品| 欧美a级一区| 999国产精品| 国内亚洲精品| 欧洲激情综合| 久久国产精品成人免费观看的软件| 欧美www视频在线观看| 久久影院一区二区三区| 98精品久久久久久久| 91一区二区| 99精品视频在线| 久久av在线| 欧美亚洲一级| 蜜臀国产一区| 日韩中文字幕不卡| 青草av.久久免费一区| 久久激五月天综合精品| 国产伦精品一区二区三区在线播放| 你懂的亚洲视频| 亚洲大片在线| 日韩综合一区二区| 欧美a级一区二区| 免费毛片在线不卡| 91久久精品无嫩草影院| 久久69成人| 欧美成人综合| 国产探花一区在线观看| 日韩欧美看国产| 在线国产精品一区| 裤袜国产欧美精品一区| 国产麻豆综合| 国产精品一区二区美女视频免费看| 久久99久久久精品欧美| 欧美一级精品| 精品女同一区二区三区在线观看| 久久在线电影| 欧美a一区二区| 亚洲三级视频| 国产一区日韩欧美| 国产一精品一av一免费爽爽| 精品亚洲美女网站| 国产免费av国片精品草莓男男| 影视先锋久久| 国产成人精品免费视| 日韩欧美2区| 91久久视频| 91精品啪在线观看国产18| 亚洲精品自拍| 午夜影院欧美| 日韩国产激情| 美女视频黄免费的久久| 中文字幕免费一区二区| 亚洲国产专区校园欧美| 精品网站999| 日韩福利视频导航| 日韩精品一级中文字幕精品视频免费观看 | 日韩激情精品| 综合激情一区| 女人av一区| 秋霞影视一区二区三区| 国产在线观看www| 福利一区二区免费视频| 精品国产乱码久久久久久樱花| 欧美一区精品| 国产精品亚洲产品| 国产精品久久久久久久免费软件| 日韩综合小视频| 青青草国产精品亚洲专区无| 亚洲欧洲美洲国产香蕉| 中文字幕一区日韩精品| 日韩极品在线观看| 日韩av中文在线观看| 色狠狠一区二区三区|