009--機能(基本機能の種類および例)

基本的な機能

関数は、  (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秒

おすすめ

転載: www.cnblogs.com/ccbest/p/10936259.html