<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(){}效果是一样的,均表示自执行函数。) 应用3: 下面的code是缓存的应用,catchNameArr。在匿名函数的调用对象中保存catch的值,返回的对象由于被CachedBox变量引用导致匿名函数的调用对象不会被回收,从而保持了catch的值。可以通过CachedBox.getCatch("regionId");来操作,若找不到regionId则从后台取,catchNameArr 主要是为了防止缓存过大。