关于弗拉纳根书中的这段代码:
var o = {x:1, y:4};
var keys = Object.keys(o);
var values = [];
console.log(keys); //[ 'x', 'y' ]
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
values[i] = o[key];
}
console.log(values); //[ 1, 4 ]
为什么需要首先将 keys[i] 存储在 key 变量中,以便在 o 之后的行上访问属性 VALUES ?为什么我们不能只放 values[i] = o[keys] (返回 undefined undefined)?“key”是一个任意变量名,我不明白它通过 o[key] 与 o VALUES 建立对应关系的魔力吗?