> 웹 프론트엔드 > JS 튜토리얼 > NodeList_javascript 사용 시 주의해야 할 문제 팁

NodeList_javascript 사용 시 주의해야 할 문제 팁

WBOY
풀어 주다: 2016-05-16 17:41:07
원래의
1402명이 탐색했습니다.

그래서 그들은 항상 최신의 가장 정확한 정보를 갖고 있습니다. 기본적으로 모든 NodeList 개체는 DOM 문서에 액세스할 때 실시간으로 실행되는 쿼리입니다. 예를 들어 다음 코드는 무한 루프를 발생시킵니다.

코드 복사 코드는 다음과 같습니다.



먼저 페이지를 가져옵니다. div의 모든 div에 대해 이 컬렉션(divObj)은 "동적"이므로 새 div가 페이지에 삽입될 때마다 divObj는 새로 추가된 div를 추가합니다. 즉, divObj에 액세스하는 동안 다시 쿼리되고 divObj가 다시 업데이트됩니다. 따라서 위의 코드는 각 루프 중에 새 div가 삽입되고 각 루프가 i가 실행됨을 의미합니다.

NodeList를 반복하려면 length 속성을 사용하여 두 번째 변수를 초기화한 다음 반복자를 해당 변수와 비교하는 것이 가장 좋습니다. 다음 코드에 표시된 대로:

코드 복사 코드는 다음과 같습니다.



이 예에서는 두 번째 변수(len)가 초기화되었습니다. len은 루프 시작 부분에 divObj.length의 스냅샷을 저장하므로 이전 예제의 무한 루프는 방지됩니다.

요약: 일반적으로 NodeList 방문 횟수를 최소화해야 합니다. NodeList에 액세스할 때마다 문서 기반 쿼리가 실행되기 때문입니다. 따라서 예제 2와 같이 NodeList에서 얻은 값을 캐싱하는 것을 고려할 수 있습니다!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿