JS函数被调用两次?

stu*_*ped 3 javascript loops function for-in-loop

我似乎无法找到使代码运行两次的错误,并且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);
Run Code Online (Sandbox Code Playgroud)
Output:
bill
steve
bill
steve
Run Code Online (Sandbox Code Playgroud)

Jer*_*her 15

我将您发布的代码剪切并粘贴到我的JavaScript控制台中,结果是:

bill
steve
Run Code Online (Sandbox Code Playgroud)

在某处,在原始代码中,您必须两次调用该函数.

在代码中选择一个位置 - 在这种情况下,我会选择list函数的顶部- 然后放一个

debugger;
Run Code Online (Sandbox Code Playgroud)

声明那里,并打开JavaScript控制台.

该调试器中将有一个选项可以查看堆栈跟踪.堆栈跟踪将让您准确查看调用函数的位置,以便您可以查看是否从两个不同的点调用它.

如果这不起作用,请将调试器语句移到此行的正上方:

friends.bill = {
Run Code Online (Sandbox Code Playgroud)

并重复,直到找到问题.