07-12 jsベース

5076 ワード

1、jsのデータ型?
基本データ型:String、boolean、Number、undefined、null参照データ型:Object、Array、Date、RegExp、Function
拡張:配列データ型をどのように判断しますか?1 push(),pop();//自分で変数にこの方法を定義することができ、時には失効2、obj instanceof Array戻り値判断;3、es 5とjqueryには方法がある.isArray(). 4、toString.call(param)判断;フォーマット[object Undefind]5、objを返します.constructor==Function戻り値判定
2、すべてのcheckboxを取得しますか?
    var domlist = document.getElementsByTagName("input");
    var checkboxlist = [];
    var len = domlist.length;
    
    for (var i = 0; i < len; i++) {
            if(domlist[i].type == "checkbox"){
                    checkboxlist.push(domlist[i])
            }
    }

3、イベントをバインドする方法?
1、直接domでバインドする:2、jsでonclickでバインドする:xxx.onclick=test; 3、イベントによるバインド:dom.addEventListener("click",test,boolean)
拡張:(jsイベントフローモデル?)「イベントバブル」:イベントは最も特定の要素によって受信され、段階的に伝播します.[イベントスナップ](Event Snaps):イベントは最も非特定のノードによって先に受信され、次に最も特定の要素まで段階的に下に移動します.「domイベントフロー」:3つのフェーズ:イベントスナップ、ターゲットフェーズ、イベントバブル;
(イベントフローの詳細)ieイベントフロー:バブルイベント:button->div->body netscapeイベントフロー:キャプチャイベント:body->div->button domイベントモデル:body->div->button->button->div->body;domイベントフローは同時に2つのイベントモデルをサポートする:しかし、キャプチャイベントが先に発生し、documentオブジェクトからもdocumentオブジェクト終了ie 9以下でaddEventListener/removeEventListenerをサポートせず、attachEvent/detachEventを用いてイベント伝播を阻止する:w 3 cでstopPropagation()法を用いてバブルを阻止する;デフォルトイベントのブロック:preventDefault()preventDefault()ieでは、cancelBubble=trueがイベントのバブルを阻止する.デフォルトイベントをブロック:window.event.returnValue = false;
4.AjaxとJSONとは何ですか.メリットとデメリットは何ですか.
    Ajax(Asynchronous Javascript And XML/   javascript xml)。
      :
                                   ,       。
                          ,      。
      :
                    。
               ajax           
                      
                  

JSON:jsonは軽量レベルのデータ交換フォーマットで、ECMA(ヨーロッパコンピュータメーカー協会)のサブセットです.利点:軽量級、占有帯域幅が小さく、人の読書と編纂が容易で、機械(js)の解析が容易で、複合データ型(配列、オブジェクト、文字列、数字)をサポートし、直接サーバー側コードに使用することができ、サーバー側とクライアントのコード開発量を大幅に簡素化した.欠点:xmlに比べて汎用性が悪く、データの記述性が悪い.
拡張:(jsonとxmlの違い?)
xml定義:拡張可能なタグ言語で、電子ファイルをタグして構造的なタグ言語を持たせ、データをタグし、データ型を定義することができ、ユーザーが自分のタグ言語を定義できる言語である.xmlはSGML(標準汎用タグ言語)のサブセットであり,web伝送に非常に適している.xmlは、アプリケーションまたはベンダーとは独立した構造化データを記述および交換するための統一的な方法を提供する.
  • xmlの利点:1、フォーマットが統一され、標準に合致する.2、他のシステムとのインタラクションが容易で、データ共有が便利である
  • 欠点:1、xmlファイルのフォーマットファイルは膨大で、フォーマットは複雑で、伝送はより多くの帯域幅を占有する2、サーバーとクライアントはxmlを解析するために大量のコードを必要とし、サーバーとクライアントコードは異常に複雑になり、メンテナンスが容易ではない.3、クライアントの異なるブラウザ間でxmlを解析する方法が一致せず、多くのコードを繰り返し書く必要がある.4、サーバ側とクライアント側のxml解析により多くのリソースと時間を費やす
  • jsonの長所と短所と比較しますか?1、可読性、拡張性に優れていますが、xmlの符号化はもっと難しいです.body; domイベントフローは同時に2つのイベントモデルをサポートする:しかし、キャプチャイベントが先に発生し、documentオブジェクトからもdocumentオブジェクト終了ie 9以下でaddEventListener/removeEventListenerをサポートせず、attachEvent/detachEventを用いてイベント伝播を阻止する:w 3 cでstopPropagation()法を用いてバブルを阻止する;デフォルトイベントのブロック:preventDefault()preventDefault()ieでは、cancelBubble=trueがイベントのバブルを阻止する.デフォルトイベントをブロック:window.event.returnValue = false; ##4.AjaxとJSONとは何ですか.メリットとデメリットは何ですか.Ajax(Asynchronous Javascript And XML/非同期javascriptおよびxml).利点:ページにすべてのコンテンツを再ロードせずにローカルコンテンツをロードし、データ転送量を低減できる.ユーザーがページを更新したりジャンプしたりすることを避け、ユーザー体験を向上させます.欠点:検索エンジンに友好的ではありません.ajaxでの前後退機能を実現するには、要求数の増加をもたらす可能性が高いドメイン間問題制限JSON:jsonは軽量レベルのデータ交換フォーマットであり、ECMA(欧州コンピュータメーカー協会)のサブセットである.利点:軽量級、占有帯域幅が小さく、人の読書と編纂が容易で、機械(js)の解析が容易で、複合データ型(配列、オブジェクト、文字列、数字)をサポートし、直接サーバー側コードに使用することができ、サーバー側とクライアントのコード開発量を大幅に簡素化した.欠点:xmlに比べて汎用性が悪く、データの記述性が悪い.>拡張:(jsonとxmlの違い?)>>xml定義:拡張可能なタグ言語で、電子ファイルをタグして構造的なタグ言語を持たせ、データをタグし、データ型を定義することができ、ユーザーが自分のタグ言語を定義できる言語である.xmlはSGML(標準汎用タグ言語)のサブセットであり,web伝送に非常に適している.xmlは、アプリケーションまたはベンダーとは独立した構造化データを記述および交換するための統一的な方法を提供します.*xmlの利点:1、フォーマットが統一され、基準に合致する;2、他のシステムとインタラクティブになりやすく、データ共有が便利*欠点:1、xmlファイルのフォーマットファイルが膨大で、フォーマットが複雑で、伝送がより多くの帯域幅を占めている2、サーバーとクライアントはxmlを解析するために大量のコードを必要とし、サーバーとクライアントコードが異常に複雑で、メンテナンスが容易ではない.3、クライアントの異なるブラウザ間でxmlを解析する方法が一致せず、多くのコードを繰り返し書く必要がある.4、サーバー側とクライアント解析xmlはもっと多くの資源と時間を費やします>>jsonの長所と短所と比較しますか?1、可読性、拡張性に優れていますが、xmlの符号化はもっと難しいです.2、jsonの復号難易度はほぼ0であり、xmlは子親ノードを考慮しなければならない.3、xmlの汎用性はより広く、jsonはフロントエンドに広く応用されている.4、jsonはxmlに対して、データ体積がもっと小さい.jsとのインタラクションが便利です.5、jsonはデータの記述性がxmlより悪い.6、jsonの伝播も解析もxmlよりはるかに速い.
    5、undefinedはどんな状況ですか.
    変数のみが宣言され、初期化が付与されていない場合、この変数の値はundefinedである.
    拡張:(原因を説明?)var a=null; console.log(typeof a);//object nullは、nullという値が1つしかないデータ型です.空のポインタオブジェクトを表します.だからtypeofはobjectを返します.
    6、二等号のタイプ変換?
        var undefined;
        undefined == null; // true
        1 == true;  // true
        2 == true;  // false
        0 == false; // true
        0 == '';   // true
        NaN == NaN; // false
        [] == false; // true
        [] == ![];  // true
    
        // alert(!![])        //true
       // alert(![])        //false
       // alert([] == 0)        //true
       // alert(false == 0)        //true
    

    解析:undefinedはnullと等しくない(===)numberとstringの場合、stringはnumberに変換されます.numberとbooleanの場合、booleanはnumber numberまたはstringとObjectに変換され、Objectはnumberまたはstringに変換されます.
    (jsでのデータ型変換?)関数変換:parseInt()、parseFloat()、toString()強タイプ変換:Boolean()、Number()、String()弱タイプ変換:"="、"-"、"+"、if()