我遇到了一個看似有聲望的來源奇怪的日期操縱,我不明白。這是在用於流行UI框架支持文檔樣本的一部分:Javascript奇怪的日期操作
var startDate = start.value(); // returns Date object
startDate = new Date(startDate);
startDate.setDate(startDate.getDate());
由線var startDate = start.value();
現在線這個線返回Date對象,並在startDate
變量保存它。在這裏很好,沒問題。
然後我們用相同的值創建新的Date對象,並將它賦值給同一個變量(輕度混淆,但我可以忍受它)。
第三行是一個真正的難題 - 我們(通過getDate
)獲得該月的一天,在同一個變量並將其指定爲月中的某一天(通過setDate
)。
現在的問題是:這是一個糟糕的代碼,可能是來自未完成重構的剩菜?或者,這是否真的有意義,它會執行一些操作,如刪除時間(看起來不像)?如果是,它有什麼作用?
UPD:代碼示例是這裏http://demos.telerik.com/kendo-ui/datepicker/rangeselection
這是針對特定瀏覽器的遺留代碼嗎?除了這個選項,我想不出有任何可能的原因來做到這一點。 – Nit
@Nit代碼示例 - 與傳統或瀏覽器無關 – trailmax
看來(至少在Chrome控制檯中運行它時)會創建多個新的日期對象。如果沒有特定的目的,那麼這個代碼實際上效率很低。 –