YUI.cached
YUI.cachedで、任意の関数に評価結果のキャッシュ機能を付与します。キャッシュ機能が追加された関数は、初回評価時の結果を常に返すようになります。
YUI().use( function(Y) { // ランダムな値を返す関数 var base = function(){ return Math.floor(Math.random() * 10) }; var out = document.getElementById("out"); out.innerHTML += "■Y.cachedでラップする前<br/>" for ( var i=0;i<10;i++ ) { out.innerHTML += base () + ","; // ラップ前の値はランダム } // 戻り値をキャッシュする関数でラップする var cached = Y.cached( base ); // cachedの値はキャッシュされるため、常に初回評価時の値が返される。 out.innerHTML += "<br/><br/>■Y.cachedでラップ後<br/>" for ( var i=0;i<10;i++ ) { out.innerHTML += cached() + ","; } });