検索

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

javascript - コールバック関数は現在の関数の値にどのようにアクセスしますか?

関数内で 6 つの要素を含む配列変数を定義し、関数内でコールバック関数を呼び出しました。コールバック関数では配列変数の値にアクセスできませんが、長さ属性にはアクセスできます。とても混乱していて、どう解決すればいいのか分かりません。

リーリー

Book.getBookByISBN() は他のモジュールで定義した関数です

大家讲道理大家讲道理2789日前579

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

  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:37:48

    だって

    リーリー

    それで

    リーリー

    返事
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:37:48

    bookARR[i]をコールバックに入れる

    返事
    0
  • ringa_lee

    ringa_lee2017-05-16 13:37:48

    その理由は、実際には、Book.getBookByISBN() 関数でコールバック呼び出しを定義する場所に bookArr[i] を渡すためです

    返事
    0
  • 漂亮男人

    漂亮男人2017-05-16 13:37:48

    これは典型的な非同期問題であり、 i のスコープは依然としてその中にあります。
    非同期で待ってるからgetBookByISBN 方法调用callback的时候 i=bookARR.length。这已经越界了,所以是undefined.

    解決策:
    1. 閉鎖
    2.let

    返事
    0
  • キャンセル返事