次の 3 つの例で何が起こっているのか説明してもらえますか? 私の考えは、最初の例でbar
あり、実行されない (関数宣言に過ぎない) ため、foo
実行されると、出力はundefined
? 2 番目の例でbar
は、値 3 が返されるように が実行されます。3 番目の例では、なぜ 8 が生成されるのかわかりません。
// 1)
function foo() {
function bar() {
return 3;
}
}
foo(); // undefined
// 2)
function foo() {
function bar() {
return 3;
}
return bar();
}
foo(); // 3
// 3)
function foo(){
function bar(){
return 3;
}
return bar();
function bar() {
return 8;
}
}
foo(); // 8