javascript関数の後ろには、いくつかの小さい括弧f()….

1642 ワード

js関数の後ろに付いている括弧が見えますが、どういう意味ですか?f()()…….
  • f()は、f関数を実行し、サブ関数
  • に戻る.
  • f()は、サブ関数を実行し、孫関数
  • に戻る.
  • f()()は、孫関数を実行し、孫関数
  • に戻る.
    しかし、このように実行したいならば、関数構造は必ずこのようにしてください.fの関数体にはreturnサブ関数が必要です.サブ関数にはreturn孫関数が必要です.returnキーワードがないと、このように連続して実行できないので、エラーが発生します.
    例えば、kはfのサブ関数であり、returnサブ関数kであるので、f()は連続して実行することができる.
    var i=1;
    function f(){
        i++;
        console.log("   :  "+i)
        return k;
        function k() {
            return "I love you!"
        }
    }
    f();
    console.log("111111111111")
    f()()
    alert(f()());
    
    結果は図の通りです
    JavaScript関数の呼び出し時に括弧と括弧の区別がありません!!!
    例の説明:
    例1.
    function init(){
        。。。。。。
    }
    window.onload = init;
    
    例2:
    function fun(){
        return 5
    }
    var a=fun
    var b=fun()
    a fun  ,b 5
    
    一体一つの関数を使うには()を加える必要がありますか?
    関数を呼び出して実行する場合は、かっこを付けなければなりません.この時、関数は実際に関数の戻り値または実行効果に等しいです.当然、戻り値がない場合もありますが、関数の内部での挙動はすでに実行されています.つまり、括弧を入れると、関数体コードが実行されます.
    括弧を使わないのは、関数名を関数とするポインタです.関数名はこの関数のポインタです.このときは関数の結果を得られません.関数体コードは実行されません.関数の所在地のアドレス位置を伝達しただけで、必要なときに関数を見つけて実行します.
    例えばwindow.onload=init;init関数は、この行のコードでは実行されません.ドキュメントを読み込む時にこの文が読み込まれます.どの関数を実行するかをドキュメントに教えられますが、実際には実行されていません.ドキュメント全体が読み込まれてからinitというポインタで実行されます.
    だから、私たちは一般的に括弧がない原因を採用しています.これも括弧の二義性のためで、括弧は「関数呼び出し演算子」です.
    最後に
    学習を楽にし、効率的にするために、多くの資料を無料で共有し、全体のスタックのエンジニアになるために、さらには構築師の道を切り開いています.ここで皆さんに一つの先端を紹介します.交流サークルを勉強します.
    本当に勉強を始めたら、どこから始めたらいいのか分かりません.効率の低下が学習を続ける自信に影響を与えます.
    しかし、一番重要なのは、どの技術が重点的に身につけなければならないか分かりません.勉強する時、頻繁にピットを踏んで、最終的に大量の時間を浪費します.だから、有効な資源が必要です.
    最後に、瓶の病気にあって、どうすればいいのか分からないフロントエンドプログラマーたちを祝福します.これからの仕事と面接が順調に行われますように.