JS関数宣言関数functionコールバック関数三つの要素が矢印

機能

  あなたは、コードの機能パッケージの特定の部分を達成することができます。

注:作成するための機能の後、テキストの文字列に格納されているヒープに、何の効果もありませんが行われていない、それだけで文字列を救いました。

作成機能

  1、リテラル(推奨)
 
      鍵識別子括弧{}関数本体
 
    例:
関数F65(){ 
    にconsole.log( `Iは関数F65`です); 
 }

   

  2、関数式(匿名関数式)
 
      キー識別子=関数(){}関数本体
    例:
F66 = LETの関数(){ 
    にconsole.log( `Iは関数F66`です); 
}
F66 = LETの関数F67(){ 
    にconsole.log( `Iは関数F66`である); 
} 
F66(); // 私は、関数F66で 
はconsole.log(F66.name); // F67 
はconsole.log(F66 ); // [機能:F67] 
// F67(); // エラーが定義されていないF67 
//このような状況は少し素敵です
 関数F67(){
            console.log( `私は、関数F67`ありました)。
        }
  F67(); //私はF67機能です
//手段前面ことや、機能としてのみだけで名前の前にF67を変数F67を宣言しなかったが、Shique呼び出しは関数名としてF66を使用する必要があり、ラメ
 

 

  3、コンストラクタ
 
        キー識別子=新機能();
    例:
F68 =ましょう新しい機能(
     "はconsole.log(123)" 
);

注:メモリ・スタックF68:関数への参照。

  ヒープメモリー機能: "はconsole.log(123)"、文字列です。

 

三つの要素の機能

  まず、関数名

    関数名は、一般的に、変数識別子として動詞またはアクションBinger式、ルックEENOWテキスト、および他を必要とし、また、変数名の名前です。

  

  第二に、パラメータ

      パラメータ:関数を作成すると、パラメータを追加
      引数:関数が呼び出されると、パラメータを追加します
注:参加者は、初期値を形:未定義。
 
     関数はにプロセスパラメータの対応に渡される引数は、呼び出されます。
        =パラメータ引数を聞かせて。
     少数レットに対応するいくつかのパラメータ、。
 
     形状に関係する様々なパラメータの実数は、従来のプログラミング言語では、数は異なる与えられたとき、すなわち、それが実行されません。JSはしません。
  
          複数の参照パラメータの数より実数より形状パラメータが大きいほど、値が定義されていません
  
          パラメータの数が使用されていない実状マルチパラメータ引数の数よりも多いです
 
  拡張:
      図1は、変数を追加する拡張操作の終了時にアレイ(引数がそれ以上取得しました)
       これは、最後のパラメータの位置(緒方上院EDITORIALが文句を言うだろう)、そして一つだけで記述する必要があります
  
      2、引数はすべての引数(Arrayクラス)の内容を取得します
  
        クラスArray:
          1、添字引数と[0]の値を取ることができます
          図2に示すように、長さの長さ(番号)を取得するために使用することができます
          3しかし、この方法は、アレイ、例えば、プッシュすることはできない()が与えられています
  
  注:関数パラメータの名前は.LENGTH数(拡張オペレータ識別子を含まない)とします。
関数F65(A、B、C、... D){ 

    にconsole.log(A、B、C)。// ABC 
    にconsole.log(D); // [ 'D'、 'E'、 'F'、 'G'、 'H'] 
    にconsole.log(F65.length)。// 3 
    にconsole.log(F65.arguments)。// 键值对的实参 
    はconsole.log(F65.arguments [0])。// A 
} 
F65( "A"、 "B"、 "C"、 "D"、 "E"、 "F"、 "G"、 "H")。

 

関数F65(X、Y、Z、I){ 
     にconsole.log(引数[ 0]); // 1。 
     X = 2 ; 
     はconsole.log(引数[ 0]); // 2つの 
     。引数[0] = 5 ; 
     コンソール.logの(X); // 5 
     // 引数を対応するパラメータ値が発生する変更も変更
     // 値の変化が引数、変化しない形状に対応するパラメータ発生 
     (I)にconsole.logと、// UN 
     I = 2 ; 
     にconsole.log(I); // 2 
     はconsole.log(引数[3]); // UN 
     // 割り当ての長い、より正式なパラメータ以外のパラメータ引数; 
     // 対応する引数は変更しない(無効であること、である、未定義印刷)
 }
 (F65を1,2,3)。

注意:関数名の.argumentsとの直接の引数が同じではない、実際には、一般的に直接引数です。

  

  第三に、戻り値:リターン

    
    各関数は、return文を追加していない場合は、コンピュータが自動的に関数の最後の行に復帰を行います、戻り値は未定義で、リターンを持っている必要があります。
    関数が返す結果(定数、変数、数式、式)、および終端機能、すなわち、コードは、後にリターンを実行することはできません。

 

 パラメータのデフォルト値

  デフォルト値を使用しない、使用に、対応するパラメータの引数がある場合、この関数は、呼び出されると、引数の値:形状関数のパラメータは、直接(未定義一切割り当ては行われません)書き込み時に割り当てることができます。

  パラメータ値を渡す:不定、関数は(必ずしも不定ではない)パラメータのデフォルト値が使用され、

  パラメータ取得.LENGTHの数は、参照番号割り当て有形デフォルト値が含まれていない場合、割り当てられた形状は、長さで書かれたパラメータである場合、デフォルト値はゼロになります。

  したがって、それが最後にデフォルトのパラメータ値を割り当てる必要が推奨されます。

 

 ES6矢印機能

    

        = X-> num2.has(X-)が式ほとんどの時間(このテンプレートに、関数戻り num2.has(X))の結果を
 

  一般的には次の特性があります。

        1、書き込み機能を省略することができます

        2、唯一つのパラメータが存在する場合には、括弧を戦うことができません

        3.唯一の実行文は、あなたがブレースを戦うことができない場合

        結果を返すように4、唯一の実行文、およびこのステートメントのニーズ、あなたはリターンを書き込むことはできません

        5、引数を使用することはできません

        6、これはその機能にバインドされることはありません

        7、コンストラクタとして使用できません

  矢印関数に一つだけの文を使用して、時間のほとんどは、簡単で便利なことです。

NUM1 =せて新しいセット([1、2、3、4 ])。
NUM2せ = 新しいセット([3、4、5、6 ])。
// 并集 
組合=ましょう新しいセット([... NUM1、NUM2 ...]); 
console.log(労働組合)。// 集合{1、2、3、4、5、6} 
// 交集 
交差せ= 新しいセット(
    [... NUM1] .filter(X => num2.has(X)))。
console.log(交差)。// 集合{3,4} 
// 差集 
せ差= 新しいセット(
    [... NUM1] .filter(X =>!num2.has(X)))。
console.log(差分)。// 集合{1,2}

 

コールバック関数

   別の関数Bを呼び出すためにパラメータを渡す場合関数に、関数Aは、コールバック関数です。

    使用されるコールバック関数として機能する上矢印。

  一般的なコールバック関数

    

// のソートされた配列 
のlet ARR = 1 ,. 3 ,. 7 ,. 6 ,. 9 ,. 4 ,. 6、2。]; 
ARR1のLET = arr.sort(
     関数(A、B){
         // 戻りBA; 
        リターン A- B。
    } 
()ARR1の;はconsole.log 

はconsole.log(arr.sort((A、B) => A - B)); // 昇順 
にconsole.log(arr.sort((A、B )=> B - A)); // 降順

  非常に重要な、非常に大規模でのコールバック関数。

arr.every(
     関数(指数){
         リターン・インデックス%2 == 0 ; 
    } 
と略記//)
// 真に戻る前にすべてのアレイを満たす条件の各値 
にconsole.logを(arr.every(インデックス=>インデックス2 == 0%)); // falseに
// 配列がtrueを返すを有するいくつかの条件 
にconsole.log(arr.some(インデックス=>インデックス%2 == 0)); // 
// フィルタ(フィルタ)値は、単にすべてのリターン 
はconsole.log(arr.filter(インデックスは=>インデックス%2 == 0)); // [6,6,4,2] 
// マップ戻り値がそれぞれの条件満たし 
コンソール.logの(arr.map(インデックス=>インデックス%2 == 0)); // [falseに、falseに、falseに、trueに、真の真の、真の、falseにします]

 

生命維持

  すぐに呼び出される関数式

     即時実行機能、すなわち呼び出し、破壊後の呼び出しを作成します

注:と呼ばれるそこに変数の即時機能を実行すると、変数が破壊されることはありませんが、「目に見えない」だろう、唯一の「人々は」を参照してください。それを呼び出します。

// 一般的な表記関数のFn(){ 
    にconsole.log( "F65" ); 
})()
// であり得る機能のFn(){ 
    にconsole.log( "F65" ); 
}()) 

!(機能FN(){ 
    にconsole.log( "F65" ); 
}())

 - (関数FN(){ 
    にconsole.log( "F65" ); 
}())
// 主にこのコードの一部と他のコード区画を作成します全体を形成するために、何の曖昧さを開けません

 

おすすめ

転載: www.cnblogs.com/jiayouba/p/11954584.html