最初の質問: これは js の知識のどの部分に属しますか? 2 番目の質問: なぜ i が 5 に等しいのか、わかりやすく説明してください。 0o0
温故而知新,可以为师矣。 博客:www.ouyangke.com
この問題はクロージャですか? クロージャではないと思います、そして関数の入れ子はありません それは関数ローカル変数と匿名関数の問題です。 匿名関数を作成してすぐに実行する場合、クロージャは含まれません。これは、ループ
) を終了するだけです。 i 的值变成 5 退出循环, console.log(i)打印当前的 iこれは次と同等です:
i
5
console.log(i)
これはクロージャではなく、for ループ速度の後に出力される単なる値です
これは、js にはブロックレベルのスコープがなく、関数スコープのみがあることが原因で発生する問題です。 。 。 Juはクロージャーを直接引くことができます。 。 。受け入れます。 。 。
JavaScript にはブロックレベルのスコープのようなものはないため、for ループ {} と if ステートメント {} 内の変数には外部からアクセスできます。
スコープはグローバルスコープとローカルスコープに分かれています
グローバル スコープは、ドキュメントの作成時にシステムによって組み込まれます。 ローカルスコープは関数を作成することで実現されます。
これは通常、クロージャを調べる問題に現れます
i + 1 を 5 回ループしたので、i は 5 です
js のクロージャーについて知っておくべきです
console.logが実行されるとforループの実行が完了するので、当然iは5になります
タイマーまたはイベントバインディングと組み合わせたクロージャを見てみましょう
js のクロージャ、
この問題はクロージャですか? クロージャではないと思います、そして関数の入れ子はありません それは関数ローカル変数と匿名関数の問題です。 匿名関数を作成してすぐに実行する場合、クロージャは含まれません。これは、ループ
(5.) を終了するだけです。
リーリーi
的值变成5
退出循环,console.log(i)
打印当前的i
これは次と同等です:これはクロージャではなく、for ループ速度の後に出力される単なる値です
これは、js にはブロックレベルのスコープがなく、関数スコープのみがあることが原因で発生する問題です。 。 。 Juはクロージャーを直接引くことができます。 。 。受け入れます。 。 。
JavaScript にはブロックレベルのスコープのようなものはないため、for ループ {} と if ステートメント {} 内の変数には外部からアクセスできます。
スコープはグローバルスコープとローカルスコープに分かれています
グローバル スコープは、ドキュメントの作成時にシステムによって組み込まれます。
ローカルスコープは関数を作成することで実現されます。
これは通常、クロージャを調べる問題に現れます
i + 1 を 5 回ループしたので、i は 5 です
js のクロージャーについて知っておくべきです
console.logが実行されるとforループの実行が完了するので、当然iは5になります
タイマーまたはイベントバインディングと組み合わせたクロージャを見てみましょう
js のクロージャ、