2017-10-06 5 views
0

私はURLのプリロードを理解していますが、このスニペットではキャッシュとハッシュの目的を理解していません。私は答えが簡単だろうと私はそれを見落としているが、私はちょうど方向をしたい知っている。このスニペットでは、ハッシュオブジェクトとキャッシュ配列はどのように使用されていますか?

const hash = {}; 
const cache = []; 

const add = (url) => { 
    if (!hash[url]) { 
     hash[url] = new Image(); 

     hash[url].src = url; 

     cache.push(hash[url]); 
    } 
    return hash[url]; 
}; 
+1

「キャッシュ」は他にどこに使用されていますか? (実際には、実際には何の目的も果たしていませんが、あなたが投稿したスニペットのメモリがリークすることはありません)。このコードはどこで見つかりましたか? – Bergi

答えて

0

この例では、cacheは実際には役に立たない。あなたはそれに書き込み、それから読むことはありません。

hashが実際のキャッシュとしてここで使用されています。同じURLの画像がすでに存在する場合は、hashオブジェクトから返され、再度作成されることはありません。

+0

私が最初に読んだときに、キャッシュが何をしているのか分からなかったのは、ハッシュがあらかじめロードされたイメージのURLを返すのは理にかなっていたが、私はキャッシュの目的を理解していた – Mcl0vin

関連する問題