var person = {name:"jack", lastName: "nikolson", year: 64};

function ope() {
  for (i = 0; i < 4; i++) {
    person["name" + i] + "\n"
  }
}

document.write(ope());


我想在此对象人员中使用方括号调用方法,但未定义...为什么?
我想写jack1 jack2 jack3 jack4,但未定义

最佳答案

因为您的person对象显然没有键name0name1name2name3。循环中的代码实际上什么也没做。函数ope需要返回某些内容,以防您想使用document.write进行某些输出。

也许是这样的(不完全确定您要做什么):



var person = {name:"jack", lastName: "nikolson", year: 64};

function ope(){
  var out = '';
  for(i = 0; i < 4; i++){
    out += person["name"] + i + "\n";
  }
  return out;
}
document.write(ope());

10-08 02:17