/ * 活字体インターフェース-インターフェース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' })