《JavaScript模式》
/** * 在下一次调用该函数时就不用重做潜在的繁重工作 */ var myFunc = function() { var cachekey = JSON.stringify(Array.prototype.slice.call(arguments)) // arguments转真正的数组 转JSON字符串 var result if (!myFunc.cache[cachekey]) { // ES5的严格模式中并不支持arguments.callee result = {} result.year = 2014 // 开销很大的操作 myFunc.cache[cachekey] = result } return myFunc.cache[cachekey] } myFunc.cache = {} console.log(myFunc('a', '2014'))