これがというファイルです index.js
// index.js
let a = 1;
function foo(name) {
let b = 2;
}
それを実行すると、それを知ってa
おりfoo
、解析段階でグローバルスコープに追加されます。しかし、今は関数を実行していませんfoo
が、関数のスコープはfoo
解析時に決定されますか?決定した場合、どこname
にb
配置しますか?
実際、「あなたはまだJSを知らない-スコープとクロージャー」を読んでいるときに、この問題に巻き込まれました。これは、行161と行171の間のリンクです。その時点getStudentName
では実行されませんが、studentID
スコープマネージャーによって検出されます。getStudenName
の関数のようfoo
にindex.js
、そしてのstudentID
ようにname
。
含まれている番号の範囲name
とb
機能がなるまでに作成されていないfoo()
と呼ばれています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加