>  기사  >  웹 프론트엔드  >  JavaScript_javascript 팁에서 사전 객체(dictionary) 인스턴스 만들기

JavaScript_javascript 팁에서 사전 객체(dictionary) 인스턴스 만들기

WBOY
WBOY원래의
2016-05-16 16:06:472180검색

JavaScript의 경우 자체 Array 객체는 단지 배열일 뿐이며 키워드를 통해 저장된 데이터에 대한 액세스를 제공할 수 없습니다. jQuery 소스 코드는 이 문제를 해결하는 아주 좋은 방법을 제공합니다.

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

함수 createCache() {
var 키 = [];

함수 캐시(키, 값) {
// 네이티브 프로토타입과의 충돌을 피하기 위해 (키 " ")를 사용하세요
// 속성(문제 #157 참조)
if (keys.push(key = " ") > Expr.cacheLength) {
// 가장 최근 항목만 유지
캐시 삭제[keys.shift()];
}
반환(캐시[키] = 값);
}
캐시 반환;
}

위 소스코드는 컴파일 결과 캐시를 생성하기 위한 코드입니다.

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

var codecache = createCache();

소스 코드에서 키는 키를 저장하는 데 사용되고, 캐시 객체는 키-값 쌍을 저장하는 데 사용되며, 최대 키 수는 전역 변수 Expr.cacheLength를 통해 제어됩니다. 첫 번째 키와 키 값은 자동으로 삭제됩니다.
이 코드는 클로저 구조를 사용하여 외부 코드가 키 변수에 액세스하는 것을 방지하여 키 변수의 보안을 보장합니다. 물론 JavaScript 문의 특성으로 인해 외부 코드는 캐시 속성을 수정하여 키와 키-값 쌍을 불일치하게 만들 수 있습니다. 그러나 고의로 장난을 치지 않는 한, 이것 자체는 별로 문제가 되지 않습니다.

물론, 기본키 중복 판단 등 핵심 기능을 제공하지 않기 때문에 완전한 사전 객체를 선언할 수는 없습니다. 관심 있는 친구가 개선해 주면 됩니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.