david sharifが JS クイズを作成しました。
var foo=1;
function bar(){
return foo;
foo=10;
function foo(){}
var foo =5;
}
typeof bar();//?
私の理解では、関数が最初にホストされ、次に内部で変数が宣言されます。関数のホスト形式は次のようになります (間違っている場合は修正してください)-
var foo=1;
function bar(){
function foo(){}
var foo;
return foo;
foo=10;
foo =5;
}
typeof bar();//?
typeof bar() 関数が未定義ではないのはなぜですか?
これは、関数の実行時に、最初の foo (関数である) を見つけて、検索を続行せずに幸せに戻るためです。または、他の何か?
あなたの時間を大切にしてください。