json:クラス配列回転配列+ajax要求データ

3942 ワード

クラス配列回転配列
  • クラス配列:
  • arguments:実パラメータを受信するための
  • HTML collection:要素セット
  • を取得する
  • クラス配列回転配列
  • Array.prototype.slice.call(arguments)-->完全互換
  • HTML collection非互換
  • ブラウザ異常キャプチャ
  • 作業中:finallyは使用されません.成功または失敗にかかわらず、finallyは
  • を実行するからです.
  • 使用シーン:->エラーを報告した後、プログラムが実行できない問題を解決する
  • tryで...catch...中はまたプログラムの実行を遮断することを望んでいます:throw new Error(‘エラー’);

  • try{
        //     
    }catch(e){
        // IE   
    }fanally{
        //           
    }
    

    JSON
  • window.JSONには2つの属性があります
  • JSON.parse():JSON形式の文字列をJSONオブジェクト
  • に変換
  • JSON.stringify():JSONオブジェクトをJSON形式に変換する文字列

  • ブラウザが互換性があるかどうかを判断する方法
  • try...catch...
  • 属性判断:window.JSON
  • in: 'json' in window

  • DOMマッピング:HTMLページ構造と取得した要素の間に、一つ一つ対応する関係があること
    ソート3ステップ
  • クラス配列回転配列
  • sortソート
  • 並べ替えた配列を、ページ
  • のように再び
    ajaxリクエストデータ4ステップ
  • オブジェクトを作成
  • var xml = new XMLHttpRequest()

  • オープンアドレス
  • xml.Open('GET','要求アドレス','非同期かどうか')
  • 応答要求
  • xml.onreadystatechange=function(){
        if(xml.readyState === 4 && /^2\d{2}$/.test(xml.status)){
            var data = xml.responseText();
        }
    }
    
  • 送信要求
  • xml.send();


  • バインドされたデータは、一般的に2種類あります.
  • 文字列接続:シンプル、ショートカット
  • 欠点:ページにイベントがある要素がある場合、文字列でつなぎ合わせると、すべてのイベントがなくなります(無視できます)

  • makeArray()makeArray()クラス配列回転配列
  • ブラウザ異常キャプチャ
  • makeArray:function(arg){
        var ary = [];
        try{
            ary = Array.prototype.slice.call(arg);
            /*     
            * ary = [].slice.call(arg);
            */
            
        }catch(e){
            for(var i=0;i

    JSON形式の文字列変換JSONオブジェクト
  • "json"in window -> true
  • JSON.parse()
  • JSON.stringify()
  • jsonParse:function(jsonStr){
        return 'json' in window ? JSON.parse(jsonStr) : eval('('+jsonStr+')')
    }
    

    手順3
  • クラス配列回転配列
  • sortソート
  • 並べ替えた配列をページ
  • に再挿入する
    平均値を求める
  • クラス配列回転配列
  • sortソート
  • 首を絞めて尾を引く
  • (eval + join)+toFixed
  • //     :       ,       ,    /  
    function average(){
        var ary = [];
        for(var i=0;i

    ajaxデータリクエスト
  • オブジェクトの作成
  • var xml = new XMLHttpRequest()

  • オープンアドレス
  • xml.Open(「GET」,「要求アドレス」,「非同期か」)
  • 応答要求
  • xmlが用意されています.readyState === 4
  • 応答成功/^2d{2}$/.test(xml.status)

  • 送信要求---get要求
  • xml.send()/xml.send(null);

  • var xml = new XMLHttpRequest();
    xml.open('GET','data.txt',false);
    xml.onreadystatechange = function(){
        if(xml.readyState === 4 && /^2\d{2}$/.test(xml.status)){
            var data = utils.jsonParse(xml.responseText);
        }
    }
    xml.send();
    

    httpステータスコード
  • 2 XX:成功
  • 3 XX:
  • へリダイレクト
  • 4 XX:要求エラー
  • 5 XX:サーバのエラー
  • データのバインド
  • 文字列接合
  • function bind(){
        var str = '';
        for(var i=0; i\
                \
    '+(i+1)+''+data[i].title+'\
                ';
        }
        oUl.innerHTML=str;
    }
    bind();
    
  • ダイナミック作成-->ドキュメントフラグメント
  • function bind(){
        var frg = document.createDocumentFragment();
        for(var i=0; i'+data[i].title+'';
            frg.appendChild(oLi);
        }
        oUl.appendChild(frg);
        frg = null;
    }
    bind()