Javascript JS函数被调用了两次?
我似乎找不到使代码运行两次的bug,而且JSFIDLE对我不起作用,所以我无法再次检查它是否是编辑器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"
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 = {