MDN에서 반복자에 관한 장을 참조하세요
https://developer.mozilla.org...생성기 표현식
그럼 스스로 연습해서 문제를 찾아보세요.
으아아아코드는 비교적 간단합니다. 제가 묻고 싶은 것은 왜 두 번째 방법에 add() 메서드를 할당하지 않으면 반복을 생성할 수 없는가입니다. 내가 이해한 바에 따르면 이 예의 add(3,5)는 그것과 동일하지만 결과는 분명히 그렇지 않습니다.
黄舟2017-05-19 10:49:40
Iterator의 순회 프로세스는 다음과 같습니다.
(1) 현재 데이터 구조의 시작 위치를 가리키는 포인터 객체를 만듭니다. 즉, traverser 객체는 본질적으로 포인터 객체입니다.
(2) 포인터 객체의 다음 메서드를 처음 호출할 때 포인터가 데이터 구조의 첫 번째 멤버를 가리킬 수 있습니다.
(3) 포인터 객체의 next 메서드가 두 번째로 호출되면 포인터는 데이터 구조의 두 번째 멤버를 가리킵니다.
(4) 데이터 구조의 끝을 가리킬 때까지 포인터 개체의 다음 메서드를 계속 호출합니다.
phpcn_u15822017-05-19 10:49:40
add를 실행할 때마다 객체를 얻게 됩니다. 이러한 각 객체에는 독립적인 전류가 있습니다. 그래서 it = add()
和多次 add()
한번은 동등하지 않습니다.