[JS]一般関数と匿名関数の違いを見てみましょう!



JavaScriptでの関数宣言方式は,一般関数と匿名関数に分けられる.

🤷一般的な関数は何ですか。


一般的な関数は、他の言語で関数を宣言する方法と同じです.
一般関数または関数宣言式と呼ばれます.
// JS 함수 구현 방법
function 함수명() {
	함수로직
}
# 파이썬 함수 구현 방법
def 함수명 () {
	함수로직
}
以上のようにPythonの関数宣言方式はJavaScriptの関数宣言方式とほぼ同じです:)
この場合、JavaScriptでは、書き込み位置を考慮することなく、通常の関数を使用できます.
一般的な関数は、JSが初めてスクリプトを読み込むときに解析して使うので、hoistingと呼ばれます.
👨‍🎓 ハウスティンとは何ですか.
Hoistingとは、JSがスクリプトを最初に読み込むときに、すべてのオブジェクト(変数、関数)の宣言を上部にドラッグすることです.すなわち,一般関数(関数名,関数論理[本体部])は全体的に円弧化され,上部に上昇するため,任意の位置で使用できる.
hoistingTest()

function hoistingTest() {
  console.log("Hello :)")
}

hoistingTest()

/* 출력
* Hello :)
* Hello :)
*/
前述したように、関数宣言を真ん中に置いて使用しても、関数宣言子が正常に2回使用されていることを確認できます!😀
// 호이스팅 된 코드 모습
function hoistingTest() {
  console.log("Hello :)")
}

hoistingTest()
hoistingTest()

/* 출력
* Hello :)
* Hello :)
*/

🤷匿名関数は何ですか?


通常の関数とは異なり、匿名関数には関数名は存在しません.したがって、一般的な関数とは異なり、関数名以外で宣言されます.
function() {
console.log("Anonymous functions")
}
匿名関数は、「繰り返し使用せず、一度だけ使用する関数」として定義され、関数名を付けず、変数に文字で含まれる関数です.[関数の名前!=変数]
文学のやり方とは何ですか.
「字面の意味は正しい」のように、「字面の意味」は変数にデータを入れるときに使われるのが一般的です.
// Literal
let a = "Literal let";
const b = "Literal const";
上記のように匿名関数をテキストで使用すると、匿名関数は変数に格納されます.
const anonymousFunctions = function() {
  console.log("Anonymous functions Test")
}

anonymousFunctions()

// 출력 : Anonymous functions Test
上記の関数の名前!=変数の意味は湖畔から来ている.
通常の関数では、関数を呼び出すときに関数全体が上向きであるため、関数を呼び出す場所にかかわらず使用できますが、文字で使用される匿名関数では、関数を呼び出す変数の宣言子が上向きであり、匿名関数自体が変数を呼び出すときにのみ実行されます.宣言は、正常に使用するには、コール位置の上にある必要があります.
anonymousFunctions()

const anonymousFunctions = function() {
  console.log("Anonymous functions Test")
}

anonymousFunctions()
//error : Uncaught ReferenceError: Cannot access 'anonymousFunctions' before initialization
上記のコードのように匿名関数宣言を中間的に使用すると、注釈のようにerrorが表示されます.
エラーコードの内容は、関数を宣言する前に呼び出されたため、「初期化前に匿名機能にアクセスできません」というエラーです.
上記の従来の関数とは異なり、匿名関数の関数宣言部分は呼び出し位置の上にある必要があります.

整理する


一般関数
これはグローバルであり、グローバルは反発しているため、宣言と呼び出しの場所は関係ありません.
主に再使用する機能に使用されます!
匿名関数
パンフレットだけが良いので、呼び出しの位置と実施の位置の間で順番が一致するはずです!
主に一度だけ使用する機能に使用されます.
使用結果は、一般的な関数が便利で管理しやすいことを示していますが、なぜ匿名の関数を使用するのでしょうか.でも.
匿名関数はメモリ管理に非常に有効だそうです.
一般的な関数はjavascriptを早期に読み込むときにhostingであり、スクリプト全体で1回しか使用しない関数が一般的な関数として実装されると、メモリを必要とせずに1回使用するのを待つことになります.つまり、メモリが無駄になります.
ただし、匿名関数を使用すると、不要な時間にメモリを消費するのではなく、関数の位置で実装され、消去され、メモリを節約できます.

結論


一度だけ使用する機能を実装する場合は、主に匿名関数を使用し、複数回使用し、再使用する機能が必要な場合は、通常の関数を使用して実装します.