JS의 클로저 문제를 배울 때 JS 고급 프로그래밍에서 코드 예제를 입력하고 실험했지만 결과가 일관성이 없어 알 수 없었습니다.
으아아아이 코드의 결과는 배열이어야 하며 각 값은 10이지만 브라우저에서 실험한 결과 반환되는 것은 함수 배열이라는 것을 알았습니다.
숫자 배열이 반환되지 않는 이유는 무엇인가요?
仅有的幸福2017-05-19 10:32:05
는 함수의 배열입니다. 각 함수에는 반환 값 i가 있지만 이 함수는 실행되지 않습니다.
책 181페이지, 코드 아래 첫 문장을 주의 깊게 읽어보세요.
이 함수는 함수 배열을 반환합니다.
이전에 이것을 보고 조금 혼란스러웠습니다. 10개를 모두 직접 반환하는 것이 더 직관적일 것이라고 느꼈습니다. 생각해 보니, 반환된 함수 바로 뒤에 ()를 추가하면 매번 즉시 실행 함수를 생성하는 것과 같고, 반환된 i는 매번 일반 인덱스 값이므로 원하는 효과를 얻을 수 없습니다.
으아악PHP中文网2017-05-19 10:32:05
result는 요소가 함수인 배열입니다.
그래서 당신이 이런 상황에 처한 것입니다
원하는 모든 것을 얻으려면 10
배열을 반복하고 배열 요소인 함수를 호출하고 반환 값을 기록하세요