0

私はJavascriptの基本に関するチュートリアルを読んでいて、ブロックレベルのスコープではなく関数レベルのスコープを持つという点で、C、C ++などの他の言語とどのように異なるかについて読んでいましたが、このスクリプトに出くわして混乱しました!

だから基本的に:

  1. 次のコードの結果がどのようにして「1」になるのか知りたいですか?
  2. そして、関数 a() {} の役割は正確には何ですか? つまり、呼び出されることはなくfunction b() {}、宣言の前に return ステートメントもあります。しかし、関数名を変更すると、アラートの値が「10」になります。なぜですか?

    <script>
        var a = 1;
    
        function b() {  
            a = 10;
            return;
            function a() {}
        }
    
        b();
        alert(a);
    </script>
    
4

0 に答える 0