亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript AJAX之惰性載入函數

2019-11-20 14:14:08
字體:
來源:轉載
供稿:網友

在JS中有些內存只需執行一遍即可,如瀏覽器類型檢測是最常用的一個功能,因為我們使用Ajax的時候需要檢測瀏覽器的內置的XHR。我們可以在第一次檢測的時候記錄下類型,往后在使用Ajax的時候就不需要再去檢測瀏覽器類型了。在JS中就算只有一個if也總比沒有if的語句效率要高。

普通Ajax方法

復制代碼 代碼如下:

/**
 * JS惰性函數
 */
 
function ajax(){
    if(typeof XMLHttpRequest != "undefined"){
        return new XMLHttpRequest();   
    }else if(typeof ActiveXObject != "undefined"){
        if(typeof arguments.callee.activeXString != "string"){
            var versions = ["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp"];   
 
            for(var i=0,k=version.length;i<k;i++){
                try{
                    new ActiveXObject(versions[i]);
                    arguments.callee.activeXString = versions[i];
                    break;
                }catch(ex){
                    throw ex;  
                }
            }
        }  
 
        return new ActiveXObject(arguments.callee.activeXString);
    }else{
        throw "No XHR object"; 
    }
}

每次調用ajax()函數都要對瀏覽器內置的XHR檢查,效率不高。

使用惰性方式的方法

復制代碼 代碼如下:

/**
 * JS惰性函數
 */
 
function ajax(){
    if(typeof XMLHttpRequest != "undefined"){
        ajax = function(){
            return new XMLHttpRequest();   
        };
    }else if(typeof ActiveXObject != "undefined"){
        ajax = function(){
            if(typeof arguments.callee.activeXString != "string"){
                var versions = ["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp"];   
 
                for(var i=0,k=version.length;i<k;i++){
                    try{
                        var xhr = new ActiveXObject(versions[i]);  
                        arguments.callee.activeXString = versions[i];
                        return xhr;
                    }catch(ex){
                        throw ex;  
                    }
                }
            }  
 
            return new ActiveXObject(arguments.callee.activeXString);
        }
    }else{
        ajax = function(){
            throw "No XHR object"; 
        }
    }
 
    return ajax();
}

在第二個惰性方法中if的每個分支都會為ajax()變量賦值,有效覆蓋了原有函數,最后一步調用新的函數。下一次調用的ajax()的時候,就直接調用變量。

優化重點

要執行特定代碼只有實際調用才執行,而某些JS庫一開始就檢測瀏覽器,預先設置好。

由于加了復雜的判斷所以首次運行速度慢,但后邊的多冊運行的效率會更快。
 
有時候寫代碼久了,不能一成不變,要經常思考怎樣才能使程序運行的更快,更有效率。這樣的思考下寫出來的程序才是精裝,而不會產生多余的垃圾代碼。這也不是簡單OO就能一刀切,實際上代碼很多地方都是活的,人更是活的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
黑人巨大精品欧美一区二区三区| 日本欧美一二三区| 久久国产一区二区三区| 久久久久亚洲精品成人网小说| 中日韩午夜理伦电影免费| 亚洲色无码播放| 欧美成人免费一级人片100| 欧美一区二区大胆人体摄影专业网站| 中文字幕无线精品亚洲乱码一区| 日韩免费在线播放| 国产精品a久久久久久| 精品久久久在线观看| 国产精品黄色影片导航在线观看| 丝袜美腿亚洲一区二区| 久久国产加勒比精品无码| 97avcom| 美女福利视频一区| 国产精品麻豆va在线播放| 国产精品吹潮在线观看| 日韩**中文字幕毛片| 91丨九色丨国产在线| 欧美情侣性视频| 国产91精品网站| 91精品国产自产在线观看永久| 欧美精品在线免费观看| 亚洲国模精品私拍| 亚洲欧美三级伦理| 欧美午夜影院在线视频| 日韩欧美亚洲范冰冰与中字| 亚洲欧美日韩精品| 日韩精品视频在线观看网址| 久久久久久久久亚洲| 91精品国产高清自在线看超| 国产91成人video| 日韩欧美在线看| 亚洲精品自拍偷拍| 久热精品在线视频| 欧美人与性动交a欧美精品| 97成人精品区在线播放| 国产成人精彩在线视频九色| 欧美亚洲伦理www| 韩国精品久久久999| 久色乳综合思思在线视频| 精品久久久久久| 久久久在线观看| 国产精品久久久久9999| 国产精品日韩电影| 欧美日韩激情美女| 国产91久久婷婷一区二区| 国产97在线观看| 久久久爽爽爽美女图片| 久久国产精品久久久久久| 久久久久久伊人| 在线观看91久久久久久| 91禁国产网站| 国产福利视频一区二区| 久久影院在线观看| 精品香蕉在线观看视频一| 91av免费观看91av精品在线| 欧美综合一区第一页| 欧美精品18videosex性欧美| 97成人精品视频在线观看| 日韩中文有码在线视频| 国产精品狼人色视频一区| 亚洲乱码国产乱码精品精天堂| 欧美老妇交乱视频| 国产精品无av码在线观看| 久久在线精品视频| 成人a在线视频| 欧美主播福利视频| 久久久国产视频| 欧美一区二区色| 日韩精品在线观看网站| 亚洲自拍另类欧美丝袜| 91视频免费网站| 日本不卡免费高清视频| 亚洲一区二区久久久| 国产91精品网站| 大胆人体色综合| 福利二区91精品bt7086| 97色在线播放视频| 亚洲精品永久免费精品| 亚洲激情免费观看| 亚洲激情第一页| 国产在线久久久| 日韩av在线天堂网| 综合网日日天干夜夜久久| 国产成人精品一区二区三区| 久久99青青精品免费观看| 成人伊人精品色xxxx视频| 欧美高清一级大片| 成人久久久久爱| 久久精品亚洲国产| 亚洲精品国产免费| 日韩欧美视频一区二区三区| 亚洲午夜精品视频| 国产一区二区激情| 久久男人av资源网站| 亚洲综合在线做性| 日韩一区二区三区xxxx| 日韩欧美在线免费| 日韩精品福利在线| 精品国产一区二区三区四区在线观看| 亚洲午夜av电影| 全球成人中文在线| 亚洲视频一区二区三区| 91免费福利视频| 国外视频精品毛片| 久久久97精品| 欧美一区第一页| 日韩在线播放视频| 国产亚洲欧洲高清一区| 精品福利视频导航| 最近2019年手机中文字幕| 欧美色图在线视频| 国产精品吹潮在线观看| 亚洲综合国产精品| 欧美性videos高清精品| 国产免费一区二区三区在线能观看| 欧美xxxwww| 奇门遁甲1982国语版免费观看高清| 欧美放荡办公室videos4k| 青青草成人在线| 欧美日韩在线视频一区| 国产精品99久久久久久人| 精品国产一区av| 欧美二区乱c黑人| 久久999免费视频| 精品视频一区在线视频| 国产精品一区电影| 国产精品久久久久久久午夜| 俺也去精品视频在线观看| 亚洲毛茸茸少妇高潮呻吟| 高潮白浆女日韩av免费看| 亚洲乱亚洲乱妇无码| 国产精品入口夜色视频大尺度| www.欧美精品| 国内揄拍国内精品少妇国语| 成人免费视频在线观看超级碰| 日韩美女激情视频| 北条麻妃99精品青青久久| 欧美一级电影免费在线观看| 精品福利樱桃av导航| 国产91网红主播在线观看| 91视频国产一区| 在线观看不卡av| 亚洲国产精品高清久久久| 97在线精品视频| 亚洲国产精品中文| 国产精品99久久久久久www| 日韩av在线一区| 国产精品久在线观看| 日韩中文有码在线视频| 久久综合色88| 欧美激情一区二区三区久久久| 91精品国产成人www| 日韩网站免费观看高清| 欧美激情2020午夜免费观看| 欧美一级淫片aaaaaaa视频| 一区二区三区无码高清视频| 自拍偷拍亚洲区| 精品国产乱码久久久久久虫虫漫画| 久久精品中文字幕电影| 日韩福利视频在线观看|