我想這是javascript中的絕對新手問題。JavaScript中的短跑日期
我想知道' - '是什麼意思在JavaScript日期。
示例:new Date(2010,12 - 1,10,22,00,00);
12 - 1在上面說了什麼?
謝謝
我想這是javascript中的絕對新手問題。JavaScript中的短跑日期
我想知道' - '是什麼意思在JavaScript日期。
示例:new Date(2010,12 - 1,10,22,00,00);
12 - 1在上面說了什麼?
謝謝
這是減去一得到11
。
爲什麼?這通常是因爲較早的月份數字是「關閉」的結果,因爲.getMonth()
是基於0的,其他日期部分是基於1的。爲Date()
簽名看起來是這樣的:
new Date(year, month, date, hour, minute, second, millisecond)
...但month
參數0-11
,其中year
和date
參數1-based
。你認爲12
爲12月,但是基於0,它是11
而不是12
......你看到的代碼風格是一種表達方式,或者至少讓你「等一下......」並看到它不是November
,因爲如果作者只是在那裏放置「11
」,你會直覺地想。
+1 – 2010-12-09 13:12:26
這是一個簡單的數學運算(12 - 1 = 11)。
在這種情況下,當我執行它時,它會顯示「Fri Dec 10 2010 22:00:00」。是數學運算,月份應該是11月份的 – Harsha 2010-12-09 13:09:37
12 - 1 == 11,一個簡單的數學表達式。
它用於通知代碼的讀者,該日期將在12月。
由於Javascript中的月份基於0(0 - 1月... 11 - 12月),因此可以更容易地看到作者的含義。
這個習語也存在於Java中。而且由於Javascript從Java中「借」了這個名字,如果它借來更多的話,它不會是一個驚喜;-)
一個for循環的索引從0開始是一個常見的習慣用法,所以Date
的作者有這樣可能使用的代碼:
for (var i = 0; i < 12; ++i) {
console.log(new Date(2010, i, 1));
}
看起來典型,但尷尬的是,當0基於索引是不自然的,就像個月內使用。
太糟糕了,不能接受多個答案... :(謝謝你們...... – Harsha 2010-12-09 13:28:28