我在JavaScript中有一个小问题。我要执行以下操作:

var peter = {
  pet : spot
}

var spot = {
  owner : peter
}

上面的代码运行正常,但是peter.pet将是未定义的。而spot.owner将被定义。有没有比这更好的方法呢?
var peter = {
  pet : 'spot'
}

var spot = {
  owner : peter
}

peter.pet = eval(peter.pet)

任何见识将不胜感激...

最佳答案

由于对象是动态的,因此稍后添加pet即可:

var peter = {
    // anything else you want to set
};

var spot = {
    owner : peter
};

peter.pet = spot;

编辑-删除了向peter对象添加函数的错误尝试。要正确执行此操作,请参阅Renan的帖子。

关于javascript - 我应该如何在JavaScript中设置循环引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17795341/

10-11 07:00