♫【模式】函数属性—备忘模式

《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'))

 

你可能感兴趣的:(函数)