下面的代码示例版本我遇到了问题。我有一个动态函数,我在其他地方使用,以动态选择某些属性,例如,如此处所示blabla.years.y2011.hello。但是,这不起作用,我发现变量' o'这里没有被它的实际值取代,例如,你好或再见,但只留下o(见第二个清单)。如何在返回行中动态使用o的值?
for (var o in ["hello", "bye"]) {
somevar[o] = {
"f": function(x) {
return x["years"]["y2011"][o];
}
...
somevar的console.log输出[" hello"]:
function (x) {
return x["years"]["y2011"][o];
}
正如您所看到的,o不会被值hello或bye替换,而只是保持o。