發現這個代碼在傳統項目未能鏈式方法?
var d = new Date();
d.setFullYear(currentYear);
d.setMonth(currentMonth);
d.setDate(currentDay);
做d.setFullYear(currentYear).setMonth(currentMonth).setDate(currentDay)
試圖鏈,但我得到了錯誤。任何更好的方式來重構上面的代碼?
發現這個代碼在傳統項目未能鏈式方法?
var d = new Date();
d.setFullYear(currentYear);
d.setMonth(currentMonth);
d.setDate(currentDay);
做d.setFullYear(currentYear).setMonth(currentMonth).setDate(currentDay)
試圖鏈,但我得到了錯誤。任何更好的方式來重構上面的代碼?
鏈接不是一個自我的目的,不需要重構這段代碼。
不過,如果你想縮短它,你可以使用all three parameters of setFullYear
:
var d = new Date();
d.setFullYear(currentYear, currentMonth, currentDay);
你不能鏈,因爲這些函數返回的時間戳,而不是根本目的。
var currentYear = '2011',
currentMonth = '04',
currentDay = '20';
/*********************************
* Supply All Values *
* Notice the "-1" on the month *
*********************************/
var d = new Date();
d.setFullYear(currentYear,currentMonth-1,currentDay);
console.log('Milliseconds since 1970:', d.setFullYear(currentYear,currentMonth-1,currentDay));
console.log('Locale:',''+d);
/*********************
* Default Day/Month *
*********************/
var d = new Date();
d.setFullYear(currentYear);
console.log('Default Month/Day:', ''+d);
當然,如果你打算將它們都在同一個函數,你不妨將它們設置在constructor:
var currentYear = '2011',
currentMonth = '04',
currentDay = '20';
/*********************************
* Supply All Values *
* Notice the "-1" on the month *
*********************************/
var d = new Date(currentYear, currentMonth - 1, currentDay);
console.log('Milliseconds since 1970:', new Date(currentYear, currentMonth - 1, currentDay));
console.log('Locale:', '' + d);
重要的是要注意的是在開始的月份,所以你必須從你期望的月份中減去一個。