私はJavascriptの基本に関するチュートリアルを読んでいて、ブロックレベルのスコープではなく関数レベルのスコープを持つという点で、C、C ++などの他の言語とどのように異なるかについて読んでいましたが、このスクリプトに出くわして混乱しました!
だから基本的に:
- 次のコードの結果がどのようにして「1」になるのか知りたいですか?
そして、関数 a() {} の役割は正確には何ですか? つまり、呼び出されることはなく
function b() {}
、宣言の前に return ステートメントもあります。しかし、関数名を変更すると、アラートの値が「10」になります。なぜですか?<script> var a = 1; function b() { a = 10; return; function a() {} } b(); alert(a); </script>