2012-09-14 86 views
0

我敢肯定,這有點關係,因爲這已經將近上午5點了......而且我錯過了一些明顯的東西。爲什麼for循環無法正常工作?

這裏是我的代碼:

var dayInMonth = 2, 
    lastDayNum = 30; 

console.log(dayInMonth, (dayInMonth > lastDayNum)); // displays "2 false" 

for(dayInMonth; dayInMonth > lastDayNum; dayInMonth++){ 
    console.log("here!") // not displaying anything 
} 

什麼是從執行console.log()聲明停止for循環?

+4

顯然'dayInMonth> lastDayNum'是'FALSE',即2 <30 ....小睡再試 – pankar

+2

1爲小睡。睡覺岩石! – Hbcdev

+0

謝謝大家!對咖啡進行編程的危險並且沒有睡眠...... – dmr

回答

1

錯誤邏輯測試(<而非>);

for(; dayInMonth < lastDayNum; dayInMonth++){ 
    console.log("here!") // not displaying anything 
}​ 
1

dayInMonth > lastDayNum絕不會更大

1

dayInMonth > lastDayNum應該是dayInMonth <= lastDayNum,對不對?

1
for(dayInMonth; dayInMonth < lastDayNum; dayInMonth++){ 
    alert("here!") // not displaying anything 
}​ 

你想<不>。

1

嘗試使用循環

dayInMonth < lastDayNum 

一個是隻要第二個參數是真實的,直到它是假執行。

1
var dayInMonth = 2, 
    lastDayNum = 30; 

console.log(dayInMonth, (dayInMonth > lastDayNum)); // displays "2 false" 

for(dayInMonth; dayInMonth < lastDayNum; dayInMonth++){ 
    console.log("here!") // not displaying anything 
} 

內部爲<,不>