var creditCheck = function(income) {
if(income >= 100) {
console.log("You earn a lot of money! You qualify for a credit card.");
} else {
console.log("Alas you do not qualify for a credit card. Capitalism is cruel like that.");
}
};
creditCheck(75);
当我运行此功能时,它显示以下内容: “唉,你没有资格获得信用卡。资本主义就像那样残酷。” “唉,你没有资格获得信用卡。资本主义就像那样残酷。” 如果我用125而不是75运行它会说如下: “你赚了很多钱!你有资格获得信用卡。” “唉,你没资格获得信用卡。资本主义就像那样残酷。”
答案 0 :(得分:0)
查看您调用该功能的位置并在那里查找问题。你的功能不是问题,它按预期工作。
答案 1 :(得分:0)
正如@Andy在评论中提到的,你可能在代码的另一部分调用了checkCredit。我个人的猜测是,当你试图将它分配给一个事件时,你正在调用它:
div.onclick = creditCheck(); // the () call it now instead of assigning the function as callback for the click event
要确定您在何处调用它,可以使用调试器。在函数开头放置一个断点,然后检查调用堆栈。第一个电话看起来是正确的,而第二个电话会引导你直接解决问题。你在Chrome,Firebug甚至IE中都有一个调试器,所以你已经被覆盖了。
或者,如果您发现难以使用调试器,则可以在所选编辑器中搜索整个代码以查找RegExp /creditCheck\s*\(\)/g
。我仍然建议你去调试器路线,因为它将来会对你有所帮助。