>  기사  >  웹 프론트엔드  >  자바스크립트 메모캐싱 기능 안내_자바스크립트 스킬

자바스크립트 메모캐싱 기능 안내_자바스크립트 스킬

WBOY
WBOY원래의
2016-05-16 18:26:061287검색
예를 들어
코드 복사 코드는 다음과 같습니다.

var flower= function(){
var t=0,i=0;
for(;i<5000000;i ){
t
}
return t;

flower는 t의 ​​값을 반환합니다
이 함수는 2~3초 정도 걸린다고 가정합니다.
메모이제이션 기능을 통해 같은 값을 다시 찾을 때 미리 캐시된 값을 바로 얻어서 바로 반환해줍니다.

메모이제이션 기능
코드 복사 코드는 다음과 같습니다.
var Memoize = function(fn, 캐시, refetch, obj){
cache = 캐시 || {};/ /결과를 캐시하는 데 사용됩니다
return function(){
var k = 인수[1] ? Array.prototype.join.call(arguments, '__') : 인수[0]; //'__'로 구분된 여러 매개변수
if (!(k in 캐시) || (refetch && 캐시[k] == refetch)) { //캐시 목록에 없고 다음과 같은 경우 주어진 재페치 값, Re-operate
cache[k] = fn.apply(obj || fn, 인수) //obj 매개변수를 사용하여 이 포인터를 변경할 수 있습니다
}
return 캐시[k ];//결과 반환
}
}


데모:

[Ctrl A 모두 선택 참고: 외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다 ]
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.