var fn = (function(){ var cache; var ran = Math.random(); function init(){ return ran; } if(!cache){ cache = init(); } console.log(cache); return cache; })(); console.log(fn); console.log(fn); console.log(fn);