찾다

 >  Q&A  >  본문

javascript - 콜백 함수는 현재 함수 아래의 값에 어떻게 액세스합니까?

6개의 요소가 포함된 함수에 배열 변수를 정의한 다음 함수에서 콜백 함수를 호출했습니다. 콜백 함수에서는 배열 변수의 값에 액세스할 수 없지만 길이 속성에는 액세스할 수 있습니다. 매우 혼란스럽고 어떻게 해결해야 할지 모르겠습니다.

으아악

Book.getBookByISBN()은 제가 다른 모듈에서 정의한 함수입니다

大家讲道理大家讲道理2746일 전542

모든 응답(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
  • 취소회신하다