이 글은 jQuery 데이터 캐싱 사용량을 분석합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
jQuery의 API 도움말 문서에서 jQuery는 데이터 캐싱의 역할을 다음과 같이 설명합니다. 순환 참조의 위험 없이 요소의 데이터에 액세스하는 데 사용됩니다.
1. 캐시 데이터 정의
$(selector).data(name,value) 메소드를 사용하여 jQuery 객체에 대해 캐시된 데이터를 정의합니다. 이렇게 캐시된 데이터는 일치하는 DOM 요소 세트의 모든 DOM 요소에 저장됩니다.
var $link = $('a'); $link.data('linkType', 'home');
참고: $(selector).data(name,value)는 문자열뿐 아니라 일치하는 DOM 요소에 어떤 형식으로든 데이터를 저장할 수 있습니다.
2. 캐시 데이터 획득
이 시점에서는 캐시된 데이터의 이름을 지정하는 하나의 매개변수만 필요합니다.
var linkType = $link.data('linkType'); //'home'
참고: 읽기 캐시 데이터가 존재하지 않으면 반환 값이 정의되지 않습니다. jQuery 컬렉션이 여러 요소를 가리키는 경우 첫 번째 요소의 해당 캐시 데이터만 반환됩니다.
3. 캐시된 데이터 삭제
removeData() 함수는 지정된 이름의 캐시된 데이터를 삭제하고 해당 jQuery 객체를 반환할 수 있습니다.
//删除缓存数据的同时,返回对应的jQuery对象。 var $a = $link.removeData('linkType');
4. jQuery 데이터 캐시 사용 사양
data() 함수 호출 횟수가 늘어나거나 부적절한 사용으로 인해 캐시 개체가 급격히 늘어나 프로그램 성능에 영향을 미치게 됩니다.
따라서 jQuery 데이터 캐싱 기능을 사용할 때에는 캐시 객체를 제때에 지워야 합니다. jQuery는 캐시된 데이터를 수동으로 지우는 RemoveData() 함수를 제공합니다. jQuery 프레임워크의 작동 메커니즘에 따르면 다음 상황에서는 데이터 캐시를 수동으로 지울 필요가 없습니다.
* elem에 대해 제거() 작업을 수행하면 jQuery가 객체에 존재할 수 있는 캐시를 자동으로 지웁니다.
* elem에 대해 empty() 작업을 수행합니다. 현재 elem 하위 요소에 대한 데이터 캐시가 있는 경우 jQuery는 하위 개체에 대한 가능한 데이터 캐시도 알게 됩니다.
* jQuery 복사 노드의 clone() 메서드는 데이터 캐시를 복사하지 않습니다.
이 기사가 모든 사람의 jQuery 프로그래밍에 도움이 되기를 바랍니다.