ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript AJAX 遅延読み込み関数_JavaScript スキル

JavaScript AJAX 遅延読み込み関数_JavaScript スキル

WBOY
リリース: 2016-05-16 16:38:38
オリジナル
1191 人が閲覧しました

JS 内の一部のメモリは、一度だけ実行する必要があります。たとえば、ブラウザの種類の検出は、Ajax を使用するときにブラウザの組み込み XHR を検出する必要があるため、最も一般的に使用される機能です。最初の検出時にタイプを記録できるため、将来 Ajax を使用するときにブラウザーのタイプを検出する必要はありません。 JS では、if ステートメントが 1 つしかない場合でも、if ステートメントがない場合よりも常に効率的です。

通常の Ajax メソッド

コードをコピーします コードは次のとおりです:

/**
* JS 遅延関数
​*/

関数 ajax(){
If(XMLHttpRequest のタイプ != "未定義"){
return new XMLHttpRequest(); }else if(ActiveXObject の種類 != "未定義"){
If(引数の種類.callee.activeXString != "文字列"){
var バージョン = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp"];
for(var i=0,k=version.length;i 試してみる{
new ActiveXObject(バージョン[i]); argument.callee.activeXString = バージョン[i];
休憩;
}キャッチ(例){
元を投げます。 }
}
                                                                           
return new ActiveXObject(arguments.callee.activeXString);
}その他{
「XHR オブジェクトがありません」をスローします
}
}


ajax() 関数が呼び出されるたびに、ブラウザーの組み込み XHR をチェックする必要がありますが、これは効率的ではありません。


遅延アプローチを使用する

コードをコピー

コードは次のとおりです:

/**
* JS 遅延関数
​*/
 
関数 ajax(){
    if(XMLHttpRequest のタイプ != "未定義"){
        ajax = function(){
            新しい XMLHttpRequest() を返します。   
        };
    }else if(ActiveXObject の種類 != "未定義"){
        ajax = function(){
            if(引数の種類.callee.activeXString != "文字列"){
                var バージョン = ["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp"];   
 
                for(var i=0,k=version.length;i                     試してみてください{
                        var xhr = 新しい ActiveXObject(バージョン[i]);  
                        argument.callee.activeXString = バージョン[i];
                        xhr を返します;
                    }キャッチ(例){
                        元を投げます。  
                    }
                }
            }
 
            return new ActiveXObject(arguments.callee.activeXString);
        }
    }その他{
        ajax = function(){
            「XHR オブジェクトがありません」をスローします。 
        }
    }
 
    return ajax();
}

2 番目の不自然な方法では、各都市が ajax() の量を調整する場合、元の関数が効果的にカバーされ、最後に新しい関数が使用されます。 🎜>

优化重点

特定のコードのみが実行されますが、特定の JS は最初にレビュアーを検出し、事前に設定されています。

複雑な判断が追加されたため、最初の実行速度は遅くなりますが、その後の複数の実行の効率はさらに速くなる可能性があります。  

場合によっては、コードの書き込み時間が長くなり、変更することはできませんが、このように考えてプログラムを実行すると、余分なコードが生成されることなく、より高速かつ効率的にプログラムを実行できるようになります。たった 100 個で、多くの場所で活力があり、人はより活力を発揮することができます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート