基本的な機能
関数は、 (x、y)は{追加 リターン X + Yを } myAddせ = 関数(X、Y){ 戻りのx + yは } Zせ = 100 関数addToZ(X、Y){ 戻り X + Y + Z }
ただ機能にフル機能のタイプを追加
// のちょうど種類の機能に追加 機能 追加(:ナンバー、Y:番号X):ナンバー{ 戻り X + Yを } // 関数の完全な機能の種類を追加するためには、 (baseValue:数、myAddせインクリメント:数)=> =番号機能(X:ナンバー、Y:数):ナンバー{ リターン X + Y }
関数型推論
// の機能への完全な関数型を追加 LETはmyAdd:(baseValue:数、INCREMENT:番号)=>数= 関数(X:ナンバー、Y:数):ナンバー{ 戻り X + Y } // 上記の機能を分割することができます次の二つに // LET myAdd =関数(X:ナンバー、Y:番号)番号は{ // X + Yを戻す // } // LETはmyAdd:(baseValue:数、INCREMENT:番号)=> = Number関数(X、Y){ // 戻りX + Y // } // それがパラメータ型推論と戻り値の型の種類に応じて推測します
オプションのパラメータ
// パラメータが活字体が長い、JSである任意のデフォルトであると定義される 関数(:文字列とLastName:文字列firstNameの):bulidName文字列{ 戻りのfirstName + '' + lastNameのを } // せ結果1 = bulidName ( 'ボブ')//エラー、唯一のパラメータを渡す // letの結果2 = bulidName( 'ボブ'、 'ジャック'、 'リサ')//エラーは、三つのパラメータが渡さ result3 = bulidName(「ボブましょう''ジャック「)
// 表情を変換するので、二番目のパラメータ選択 機能 bulidName(firstNameの:文字列、lastNameの?:文字列):文字列{ IF (lastNameの){ リターンのfirstName + '' + lastNameの } 他{ リターンのfirstName } } の検索結果を聞かせて = bulidName ( 'ボブ) // 必要なパラメータが続かなければならないオプションのパラメータ
機能のデフォルト設定
// 函数默认值 関数 bulidName(firstNameの:文字列とLastName = 'スミス' ):文字列{ 戻りのfirstName + '' + lastNameの } 結果せ = bulidName( 'ボブ' ) はconsole.log(結果)// BobSmithを
// 関数のデフォルトの 関数 bulidName(firstNameの= 'ボブ、lastNameの:文字列):文字列{ リターンのfirstName + '' + lastNameの } letの結果 = bulidName( 'ジャック'、'スミスの) 結果1ましょう = bulidNameを(未定義の'ジョン) はconsole.log(結果)// Jacksmith はconsole.log(結果1)// BobJons // あなたは関数値が既定値で使用して、デフォルトのパラメータの前に置きたい場合は、関数呼び出しが対応する位置に渡す必要があります未定義に
残りのパラメータ
関数 bulidName(のfirstName = 'ボブ' 、... restOfName:文字列[]):文字列{ 戻り firstNameの+ '' + restOfName } LET結果 = bulidName( 'ジャック'、 'スミス' ) 結果1せ、= bulidName(未定義'ジョン) しましょうresult3 = bulidName( 'ジャック'、 'スミス'、 'Niclos' ) はconsole.log(結果)// Jacksmith はconsole.log(結果1)// BobJons はconsole.log(result3)// Jacksmith、Niclos / / あなたがしたい場合は、上記のデフォルトのパラメータ値は、デフォルト値の機能を使用すると、着信未定義の関数呼び出しの対応する位置になければなりません
残りのパラメータをコンパイルした後
関数bulidName(firstNameの){ 場合(firstNameの=== ボイド 0){のfirstName = 'ボブ。} VARの restOfName = []; 用(VARの _i = 1; _i <arguments.lengthを; _i ++ ){ restOfNameは[_i - 1] = 引数[_i]。 } 戻りのfirstName + '' + restOfName。 } VARの結果= bulidName( 'ジャック'、 'スミス' ); VAR結果1 = bulidName(未定義、 'ジョン' ); VAR result3 = bulidName( 'ジャック'、 'スミス'、 'Niclos' ); console.log(結果)。Jacksmithの にconsole.log(結果1)。// BobJons にconsole.log(result3)。
残りのパラメータを持つ関数の定義
関数 bulidName(のfirstName = 'ボブ' 、... restOfName:文字列[]):文字列{ リターンのfirstName + '' + restOfName } // 残りのパラメータを持つ関数定義 せbulidNameFn:(FNAME:文字列、 ...残り:文字列[])=>ストリング = bulidName
2019年5月28日午前11時38分16秒