Javascript JS函数被调用了两次?

Javascript JS函数被调用了两次?,javascript,function,loops,for-in-loop,Javascript,Function,Loops,For In Loop,我似乎找不到使代码运行两次的bug,而且JSFIDLE对我不起作用,所以我无法再次检查它是否是编辑器 var friends = {}; friends.bill = { firstName: "Bill", lastName: "Gates", number: 9, address: ["5242", "drank avenue"] }; friends.steve = { firstName: "Steve", lastName: "Jobs"

我似乎找不到使代码运行两次的bug,而且JSFIDLE对我不起作用,所以我无法再次检查它是否是编辑器

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);


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

bill
steve
在原始代码的某个地方,您必须调用该函数两次

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

debugger;
语句,并打开JavaScript控制台

在调试器中有一个选项可以查看堆栈跟踪。堆栈跟踪将让您准确地看到函数从何处调用,因此您可以看到函数是否从两个不同的点调用

如果不起作用,请将debugger语句移到此行的右上方:

friends.bill = {

然后重复,直到你发现问题。

为什么JSFiddle不适合你,在这里看起来很好?…并且没有显示你的问题(因此你在问题中的代码中没有)。嘿,被难住了,你的代码与JSFiddle配合得很好:不确定这里的互联网有点不可靠,也许JSFiddle没有乐趣。谢谢你再次确认!IIRC,代码学院网站在运行时不会清除控制台。在您的浏览器上,有一个清除控制台的选项——因此您可能已经运行了两次程序,这就是为什么您会看到两次输出。
friends.bill = {