関数内で 6 つの要素を含む配列変数を定義し、関数内でコールバック関数を呼び出しました。コールバック関数では配列変数の値にアクセスできませんが、長さ属性にはアクセスできます。とても混乱していて、どう解決すればいいのか分かりません。
リーリーBook.getBookByISBN() は他のモジュールで定義した関数です
ringa_lee2017-05-16 13:37:48
その理由は、実際には、Book.getBookByISBN() 関数でコールバック呼び出しを定義する場所に bookArr[i] を渡すためです
。漂亮男人2017-05-16 13:37:48
これは典型的な非同期問題であり、 i のスコープは依然としてその中にあります。
非同期で待ってるからgetBookByISBN
方法调用callback的时候 i=bookARR.length
。这已经越界了,所以是undefined
.
解決策:
1. 閉鎖
2.let