ホームページ  >  に質問  >  本文

JavaScript - i の値が 5 に等しい理由についての質問

リーリー

最初の質問: これは js の知識のどの部分に属しますか?
2 番目の質問: なぜ i が 5 に等しいのか、わかりやすく説明してください。
0o0

欧阳克欧阳克2686日前880

全員に返信(8)返信します

  • PHP中文网

    PHP中文网2017-06-12 09:31:37

    この問題はクロージャですか? クロージャではないと思います、そして関数の入れ子はありません それは関数ローカル変数匿名関数の問題です。 匿名関数を作成してすぐに実行する場合、クロージャは含まれません。これは、ループ

    (5.

    ) を終了するだけです。 i 的值变成 5 退出循环, console.log(i)打印当前的 iこれは次と同等です:

    リーリー

    返事
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-12 09:31:37

    これはクロージャではなく、for ループ速度の後に出力される単なる値です

    返事
    0
  • 怪我咯

    怪我咯2017-06-12 09:31:37

    これは、js にはブロックレベルのスコープがなく、関数スコープのみがあることが原因で発生する問題です。 。 。 Juはクロージャーを直接引くことができます。 。 。受け入れます。 。 。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-12 09:31:37

    JavaScript にはブロックレベルのスコープのようなものはないため、for ループ {} と if ステートメント {} 内の変数には外部からアクセスできます。

    スコープはグローバルスコープとローカルスコープに分かれています

    グローバル スコープは、ドキュメントの作成時にシステムによって組み込まれます。
    ローカルスコープは関数を作成することで実現されます。

    返事
    0
  • 怪我咯

    怪我咯2017-06-12 09:31:37

    • これは通常、クロージャを調べる問題に現れます

    • i + 1 を 5 回ループしたので、i は 5 です

    返事
    0
  • ringa_lee

    ringa_lee2017-06-12 09:31:37

    1. js のクロージャーについて知っておくべきです

    2. console.logが実行されるとforループの実行が完了するので、当然iは5になります

    返事
    0
  • 怪我咯

    怪我咯2017-06-12 09:31:37

    タイマーまたはイベントバインディングと組み合わせたクロージャを見てみましょう

    返事
    0
  • ringa_lee

    ringa_lee2017-06-12 09:31:37

    js のクロージャ、

    返事
    0
  • キャンセル返事