typescriptですプロパティタイプインタフェース

/ * 

活字体インターフェース-インターフェース1.属性クラス
  
* / 


/ * 
インターフェースの役割:オブジェクト指向プログラミングは、インターフェースは、本明細書の行動や動作を定義する仕様で定義され、プログラミング・インタフェース制限や規範に役割を果たしています。インタフェース仕様に準拠するために必要なクラスの数を定義し、インターフェースは、これらのクラスメソッドの実装の詳細を気にしない、データのこれらのクラスの内部状態を気にしません。これらのクラスの唯一の規定は、いくつかの方法を提供しなければならない、これらのメソッドを提供しましたクラスは、実際のニーズを満たします。インターフェースは、Javaをtypescripと同様であるが、また、プロパティ、関数など、より柔軟なインタフェースタイプを、増加等を索引付けすることができます。

標準の定義。

* / 


// 1のJSONのインタフェースの制約の性質



    @のTSに規定された方法
    / * 
        機能printLabel():ボイド{ 
            にconsole.log( 'printLabel'); 
        } 
        printLabel()は、
    * / 


    / * 
    TSの伝統的な方法を定義しますパラメトリックに

        機能printLabel(:文字列ラベル):{無効
            ;はconsole.log( 'printLabel')
        } 

        printLabel( 'HAHAHを'); 

    * / 



        / *
            カスタムメソッドのTSは、パラメータを渡す、JSONを拘束する

        * / 

        / * 
        
        機能printLabel(labelInfo:{ラベル:文字列}):{無効
            にconsole.logを( 'printLabel'); 
        } 

        printLabel( 'HAHAH'); //エラーが書い


        printLabel({名: 'ジョン・ドウを'}); //書き込みエラー


        printLabel({ラベル: 'ジョン・ドウを'}); //正しい言葉遣い
    * / 



// バッチ処理のパラメータは、制約を渡されました。


@ インタフェース:バッチ処理のための行動と運動仕様が拘束



        // 入ってくるオブジェクト制約の界面特性である
        //   フルネームインターフェース{ 

        //      ; //注記;エンド文字列のfirstNameを
        @の     secondName:文字列; 

        // } 

        // 関数のprintName(名称:フルネーム){ 

        //      //必要着信オブジェクトのfirstName secondName
        //      はconsole.log(name.firstName + ' - ' + name.secondName); 
        // } 
        // //のprintName( '1213'); //エラー

        // VAR OBJ = {/ *パラメータの着信を含まなければなりません* secondNameのfirstName / 
        //      年齢:20であり、
        //      '単'、:firstNameの
        //      secondName: '3' 
        // }; 
        // のprintName(OBJ)







//   インタフェース:バッチプロセス制約の行為および動作のコード

       

            // フルネーム{インターフェース
            //      のfirstName; //メモ、文字列を終了
            //      secondName:文字列; 
            // } 

            // 関数のprintName(名称:フルネーム){ 
            //      //入ってくるオブジェクト必要secondNameのfirstName 
            //     console.log(name.firstName + ' - ' + name.secondName); 
            // } 



            // 関数PRINTINFO(INFO:フルネーム){ 

            //      //入ってくるオブジェクト必要secondNameのfirstName 
            //      はconsole.log(info.firstName + info.secondName); 
            // } 

            // VAR OBJ / secondName *のfirstNameが含まれている必要があり、渡された= {/ *パラメータ
            @      年齢:20は、ある
            @      のfirstName 'シングル'、
            @      secondName: '3' 
            // } ; 
            // のprintName(OBJ); 


            // PRINTINFO({ 
            //      のfirstName: '李'、
            @      secondName: '4' 
            // })





// インタフェース:オプション属性




    //インタフェースのFullName { 

    //      firstNameの:文字列。
    //      secondName:文字列。
    // } 

    // 関数のgetName(名称:フルネーム){ 

    //      はconsole.log(名)
    // } 
    // //参数的顺序可以不一样
    // のgetName({         
    //      secondName 'secondName'、
    //      のfirstName : 'のfirstName' 
    // })





    

    // インターフェイスのFullName { 
    //      のfirstName:ストリング。
    //      secondName:?文字列。
    // } 

    // 関数のgetName(名称:フルネーム){ 

    //      はconsole.log(名)
    // }  
    // のgetName({                
    //      firstNameの'firstNameの' 
    // })







/ * 
       $のアヤックス({ 
             タイプ: "GET"、
             URL: "test.json"、
             データ:{ユーザー名:$( "#ユーザー名")。ヴァル()、コンテンツ:$( "#コンテンツ")のval()}、。
             データ型: "JSON"              
         }); 
         
* / 


インターフェース構成{ 
    型:String。
    URL:文字列。
    データ:文字列。
    データ型:文字列。
} 

// 原生JS封装的AJAX 
機能AJAX(設定:構成){ 

   VARの XHR = 新規のXMLHttpRequest();

   xhr.open(config.type、config.url、真の); 

   xhr.send(config.data)。

   xhr.onreadystatechange = 関数(){ 

        場合(xhr.readyStateの== 4 && xhr.statusの== 200 ){ 
            にconsole.log( 'chengong' )。


            もし(config.dataType == 'JSON' ){ 

                にconsole.log(JSON.parse(xhr.responseText))。
            } { 
                にconsole.log(xhr.responseText)

            } 


        } 
   } 
} 


AJAX({ 
    タイプ: 'get'が
    データ: '名前= zhangsan' 
    URL: 'http://a.itying.com/api/productlist'、// APIの 
    データ型: 'JSON' 
})

 

おすすめ

転載: www.cnblogs.com/loaderman/p/11040355.html