検索

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

JavaScript イテレータ イテレータに問題がありますか?

MDN のイテレータに関する章を参照してください
https://developer.mozilla.org...ジェネレータ式

その後、自分で練習して問題を見つけます。

リーリー

コードは比較的単純ですが、私が聞きたいのは、2 番目のメソッドで add() メソッドを割り当てないと、反復を生成できないのはなぜかということです。私の理解によれば、この例の add(3,5) はそれに相当しますが、結果は明らかにそうではありません。

ringa_leeringa_lee2815日前765

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

  • 黄舟

    黄舟2017-05-19 10:49:40

    Iteratorのトラバース処理はこんな感じです。

    (1) 現在のデータ構造の開始位置を指すポインター オブジェクトを作成します。言い換えれば、トラバーサー オブジェクトは本質的にはポインター オブジェクトです。

    (2) ポインター オブジェクトの next メソッドを初めて呼び出すときに、ポインターをデータ構造の最初のメンバーに指すことができます。

    (3) ポインター オブジェクトの next メソッドが 2 回目に呼び出されるとき、ポインターはデータ構造の 2 番目のメンバーを指します。

    (4) データ構造の終端を指すまで、ポインター オブジェクトの next メソッドを呼び出し続けます。

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-05-19 10:49:40

    add を実行するたびに オブジェクトが取得されます。これらのオブジェクトにはそれぞれ独立した電流があります。したがって、 it = add() 和多次 add() 1 回は同等ではありません。

    リーリー

    返事
    0
  • キャンセル返事