经典的闭包和函数分离写法

// 闭包经典用法 —— 封装变量
        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);
            }
        })();

 

posted @ 2016-11-20 10:07  Hushaby丶  阅读(299)  评论(0编辑  收藏  举报