// 闭包经典用法 —— 封装变量 var mult = (function () { var cache = {}; // 管理运算结果 var calculate = function () { var a = 1; for (var i = 0,l = arguments.length; i < l; i++) { a = a * arguments[i]; // 计算结果 } }; return function () { // 暴露API var args = Array.prototype.join.call( arguments , ',' ); if (args in cache ) { return cache[args]; } return cache[args] = calculate.apply(null,arguments); } })();