引数なしの匿名関数は、引数で自身を返します

アンキット・グプタ:

私はJavaScriptを勉強し、任意の説明もなく、このように書かれた匿名関数を見てきました:

const sum = (function() {
    return function sum(x,y,z){
        return (x+y+z);
    };
})();
console.log(sum(1,2,3)); //6

私はそれを読む方法がある:匿名関数を宣言し、constの合計値に割り当てます。パラメータとにconsole.log()の結果とのコールの合計()。

これは非常にそれがあるように書かれている理由を私は理解していないように私に混乱しています。いくつかの質問は以下のとおりです。

最も外側の関数は、指定されたパラメータがないとき、どのように合計がパラメータを受け入れていますか?なぜ我々は、最も外側の関数にパラメータを指定していません?なぜそれがときに呼び出される自身と「合計」を返していますか?

謝罪それはあまりにも馬鹿か明らかである場合。私は多くのことを苦労しているし、最終的にここに頼むことにしました。

アブヘイセーガル:

まず第一に、この関数は、匿名ではありません。それは生命維持(すぐに呼び出す機能)だとそれがsum関数を返します。だから、constの変数は、sum実際に生命維持機能によって返されるSUM関数です。

console.log(sum(1,2,3));

だから、上記の行合計で機能を参照しているsum生命維持機能によって返さない生命維持機能そのもの

生命維持のチェックについての詳細な理解のために- https://developer.mozilla.org/en-US/docs/Glossary/IIFE

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=303557&siteId=1