GitHub 博客园 Nanakon

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

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

 

posted on 2014-01-03 23:03  jzm17173  阅读(119)  评论(0编辑  收藏  举报

导航

轻音