我似乎无法找到使代码运行两次的错误,并且JSFiddle不适合我,所以我不能仔细检查它是否是编辑器。
var friends = {};
friends.bill = {
firstName: "Bill",
lastName: "Gates",
number: 9,
address: ["5242", "drank avenue"]
};
friends.steve = {
firstName: "Steve",
lastName: "Jobs",
number: 8,
address: ["3368", "pool lane"]
};
var list = function(person)
{
for (var friendName in person)
console.log(friendName);
};
list(friends);
Output:
bill
steve
bill
steve
答案 0 :(得分:15)
我将您发布的代码剪切并粘贴到我的JavaScript控制台中,结果是:
bill
steve
在某处,在您的原始代码中,您必须两次调用该函数。
在代码中选择一个位置 - 在这种情况下,我会选择list
函数的顶部 - 然后放一个
debugger;
语句,然后打开JavaScript控制台。
该调试器中将有一个选项可以查看堆栈跟踪。堆栈跟踪将让您准确查看调用函数的位置,以便您可以查看是否从两个不同的点调用它。
如果这不起作用,请将调试器语句移到此行的正上方:
friends.bill = {
并重复,直到找到问题为止。