16.関数式
5718 ワード
関数はJavaScriptで値として扱われます.
したがって、関数は変数に割り当ててコピーすることもできます.
次のコードは変数割当て関数です.
関数を作成し、変数helloに割り当てます.
それは呼べる.
しかし、これ以外は値が同じなので、他の値でできることは、関数でも同じことができます.
次のコードを表示すると、関数も値のようにコピーされることがわかります.
if {...}, for{...}, function temp{...}使用等中括弧のblock末尾には、
しかし、関数式の役割は、変数に
すなわち、大かっこを使用しているが、それ自体が値であるため、一般的な文法の末尾に
関数をパラメータとして渡す場合、渡す関数をコールバック関数と呼びます.
条件に応じてパラメータを実行します.
ここでokとsorryは関数の値を受け入れなければならない.
これをコールバック関数と呼びます.
パラメータで関数を入れると、生成して入れます.
これを匿名関数と呼び、以下に示す.
匿名関数は変数に割り当てられるものではなく、外部からアクセスできません.
匿名関数は、その意図に基づいて作成および使用する必要があります.
通常、コールバック関数に渡される関数を記述するために使用されます.
文法が違います. 関数の生成期間が異なる
-->式は、実行フローが関数に到達したときに関数を生成しますが、宣言文はその前に呼び出されます.(がんばって)
JavaScriptを実行する前に、グローバルに生成された宣言を検索してから、宣言を生成するアルゴリズムがあるからです. scopeの違い
-->式は、この関数を変数に含めて使用できます.すなわち,ブロック内で生成された関数をグローバル変数に含め,ブロック外でも使用できるが,宣言は使用できない.
したがって、関数は変数に割り当ててコピーすることもできます.
次のコードは変数割当て関数です.
let hello = function() {
console.log('hello');
}
関数は値で、変数に割り当てることができます.関数を作成し、変数helloに割り当てます.
console.log(hello);
関数helloをコンソールに印刷すると、定義されたコードが文字列に変換されて出力されます.すなわち,関数自体も他のデータのように値として用いることができる.しかし、他の価格とは違うところもあります.それは呼べる.
しかし、これ以外は値が同じなので、他の値でできることは、関数でも同じことができます.
次のコードを表示すると、関数も値のようにコピーされることがわかります.
function hello() {
console.log(hello);
}
let cloneHello = hello;
hello(); // hello
cloneHello(); // hello
関数の式の末尾にセミコロンがありますか?
if {...}, for{...}, function temp{...}使用等中括弧のblock末尾には、
;
は不要です.しかし、関数式の役割は、変数に
값
を割り当てることである.すなわち、大かっこを使用しているが、それ自体が値であるため、一般的な文法の末尾に
;
が貼り付けられ、;
と同じになる.式なので文法とされているので貼り付けた方が良いです.コールバック関数
関数をパラメータとして渡す場合、渡す関数をコールバック関数と呼びます.
function zeroNum(number, ok, sorry) {
number===0 ? ok() : sorry();
}
関数のパラメータはok,sorryです.条件に応じてパラメータを実行します.
ここでokとsorryは関数の値を受け入れなければならない.
これをコールバック関数と呼びます.
匿名関数
パラメータで関数を入れると、生成して入れます.
これを匿名関数と呼び、以下に示す.
function zeroNum(number, ok) {
number===0 ? ok() : console.log('no Zero');
}
zeroNum(0, function() {
console.log('It`s Zero!');
});
パラメータとして値を入力すると、そのパラメータに宣言されます.匿名関数は変数に割り当てられるものではなく、外部からアクセスできません.
匿名関数は、その意図に基づいて作成および使用する必要があります.
通常、コールバック関数に渡される関数を記述するために使用されます.
宣言vs式
-->式は、実行フローが関数に到達したときに関数を生成しますが、宣言文はその前に呼び出されます.(がんばって)
JavaScriptを実行する前に、グローバルに生成された宣言を検索してから、宣言を生成するアルゴリズムがあるからです.
-->式は、この関数を変数に含めて使用できます.すなわち,ブロック内で生成された関数をグローバル変数に含め,ブロック外でも使用できるが,宣言は使用できない.
Reference
この問題について(16.関数式), 我々は、より多くの情報をここで見つけました https://velog.io/@wldns12378/16.-함수-표현식テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol