-2
xはfn関数の後に宣言されますが、その値を返します。なぜfnは未定義を返しませんでしたか?あなたのdoWork()
関数の内部Javascriptはスコープに巻き上げたり、どこに作成したりできますか?
function doWork(){
let fn = function(){ return x; }
let x = 2;
return fn();
}
console.log(doWork()); // 2
範囲はFN 'のでJS https://www.w3schools.com/js/js_scope.asp – asosnovsky
でどのように機能するかをお読みください() 'が' * 'の後に*呼び出されます。 –
'let'はスコープ内に変数を作成します。スコープ内には順序はありません。「一時的なデッドゾーン」です。これがうまくいかなければ、それは大変迷惑になるでしょう。 – Ryan