我很好奇为什么我们在这段代码中使用cache [n]

时间:2019-10-09 13:36:42

标签: javascript

我是JS新手,遇到了以下代码:

let cache={};

function memoizedAddTo80(n) {
    if (n in cache) {
        return cache[n]
    } else {
        cache[n]= n+80;
        return cache[n]
    }
}

问题是什么是cache [n] ?,我的意思是,为什么我们在缓存之后使用[n]。是cache [n]等于cache.n还是?

3 个答案:

答案 0 :(得分:6)

n是一个变量。考虑:

var n = "foo";
return cache[n];

这等同于cache.foo

答案 1 :(得分:2)

您可以在下面查看此代码:

var key = 'a'

var obj = {
    a: '1',
    key: '2'
}

console.log(obj[key])  // output '1' because it same as obj.a
console.log(obj.key)  // output '2'

答案 2 :(得分:0)

n是一个字符串参数。

您可以在KEY语法obj['key']中使用它,

但是您无法获得带有点号的obj.key属性,因为它不存在。