<script type="text/javascript"> function f(x) { var a = 0; a++; x++; var inner = function() { return a + x; } return inner; } var test = f(1); alert(test()); </script>
(ps:var a = (function(){})(); 與 var a =new function(){}效果是一樣的,均表示自執(zhí)行函數(shù)。) 應(yīng)用3: 下面的code是緩存的應(yīng)用,catchNameArr。在匿名函數(shù)的調(diào)用對象中保存catch的值,返回的對象由于被CachedBox變量引用導(dǎo)致匿名函數(shù)的調(diào)用對象不會被回收,從而保持了catch的值。可以通過CachedBox.getCatch("regionId");來操作,若找不到regionId則從后臺取,catchNameArr 主要是為了防止緩存過大。