javascript - 콜백 함수는 현재 함수 아래의 값에 어떻게 액세스합니까?
大家讲道理
大家讲道理 2017-05-16 13:35:48
0
4
541

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

으아악

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

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

모든 응답(4)
伊谢尔伦

왜냐하면

으아아아

그래서

으아아아
巴扎黑

bookARR[i]를 콜백에 넣기

左手右手慢动作

이유는 앞서 언급한 바 있습니다. 사실 Book.getBookByISBN() 함수에서 콜백 호출을 정의하는 bookArr[i]를 전달하기 위한 것입니다. 형식 매개변수와 실제 매개변수를 이해하세요.

漂亮男人

이것은 전형적인 비동기 문제이며, i의 범위는 여전히 그 안에 있습니다.
무시적으로 기다리고 있으니까요 getBookByISBN 方法调用callback的时候 i=bookARR.length。这已经越界了,所以是undefined.

해결책:
1. 폐쇄
2.let

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿