阿神2017-06-28 09:30:39
으아악
과거에 읽은 기사
클로저를 이해하려면 코드를 작성한 다음 이를 자신의 코드에 사용해야 합니다. 그 외에는 암기해야만 합니다.
고대 중국인들은 아이들이 아주 어릴 때 물건을 가지고 다니는 것을 좋아하지만 그것이 무엇을 의미하는지 모르고 때로는 명확하게 설명할 수 없는 경우도 있습니다. future
위의 내용
이 있다면 제가 작성한 로그를 읽어 보시는 것이 좋습니다. 그래도 이해가 안 되신다면
http://user.qzone.qq로 메시지를 남겨주세요. .com/2084...
天蓬老师2017-06-28 09:30:39
스코프 체인이 생성될 때 생성되었습니다. c[i] = function(i){ return i; };
실행하면 현재 스코프에는 i가 없으며, 상위 스코프 save_i()의 i가 10이 되었습니다. 결과가 0~9라고 생각하시나요? 상위 범위가 전역 범위라고 생각하시나요?
黄舟2017-06-28 09:30:39
a[i]는 할당될 때 함수 묶음입니다. 즉, 실행되지도 않고 i를 얻지도 않으며 해당 범위도 i를 얻지 못합니다
아래에서 실행하면 이 함수 묶음은 루프가 실행된 후 10인 자체 범위에서 얻을 수 있는 i를 찾기 시작합니다
巴扎黑2017-06-28 09:30:39
var 키워드는 변수 범위를 함수 범위로 선언하므로 for 루프의 i 변수가 승격됩니다. 포스터가 for 루프의 섹션을 자체 실행 기능으로 변경하면 문제가 없습니다. 예:
함수 save_i(){
}