Javascript Memoization 캐 시 함수 사용 설명
var flower= function(){
var t=0,i=0;
for(;i<5000000;i++){
t++;
}
return t;
}
flower 반환 t 의 값
이 함수 가 2 - 3 초 걸린다 고 가정 하 세 요.
Memoization 함 수 를 통 해 같은 값 을 다시 찾 을 때 미리 캐 시 된 value 를 직접 가 져 와 즉시 되 돌려 줍 니 다.
Memoization 함수
var Memoize = function(fn, cache, refetch, obj){
cache = cache || {};//
return function(){
var k = arguments[1] ? Array.prototype.join.call(arguments, '__') : arguments[0];// '__'
if (!(k in cache) || (refetch && cache[k] == refetch)) { // , refetch ,
cache[k] = fn.apply(obj || fn, arguments); //obj this
}
return cache[k];//
}
}
Demo:
New Document (function(){ var Memoize = function(fn, cache, refetch, obj){ cache = cache || {}; return function(){ var k = arguments[1] ? Array.prototype.join.call(arguments, '__') : arguments[0]; if( !(k in cache) && !(refetch && cache[k] == refetch)){ cache[k] = fn.apply(obj || fn, arguments); } return cache[k]; } } var test = function(){ var t=0,i=0; for(;i<12110000;i++){ t++; } return t; } var test2 = Memoize(test) alert(test2()); alert(test2()); })();
[Ctrl + A 전체 주석: 외부 Js 를 도입 하려 면 새로 고침 이 필요 합 니 다.]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.