2013-10-31 124 views
-2
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來運行它,它會說: 「你賺了很多錢!你有資格獲得信用卡。」 「唉,你沒有資格申請信用卡,資本主義就是這樣殘酷。」爲什麼輸出重複

+7

此代碼正常工作。您必須在代碼中的其他地方調用creditcheck。 – Andy

+1

嘗試添加'\ n',以便您可以在以前的控制檯日誌之間進行區分,除此之外的其他任何日誌 – Shadow

回答

0

看看你在哪裏調用函數並在那裏尋找問題。你的功能不是問題,它按預期工作。

0

As @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的整個代碼。我仍然建議你去調試器路由,因爲它將在未來更有利於你。