2016-01-11 38 views
0

此功能正常工作。歐洲編號中的星期幾

function getLocalDay(date) { 
    return (date.getDay() == 0) ? 7 : date.getDay(); 
} 

alert(getLocalDay(new Date(2016, 0, 10))); // 7 

如果我編輯條件date.getDay() ? 7 : date.getDay() - 功能無法正常工作。如果星期日星期幾,函數應該返回7。

+5

'Date.getDay()|| 7'會給你你需要的東西 – Akxe

+0

@Akxe,很好。爲什麼我的情況不起作用? – Aleksandr

回答

2

當然!如果你想縮短你的方法,你必須寫:

return !date.getDay() ? 7 : date.getDay(); 

你忘了!

你也可以寫作date.getDay() || 7 @Akxe在評論中寫道。

+0

是的,我忘了它。我是noob。謝謝。 – Aleksandr

1

這會正常工作。 date.getDay()將在星期日返回0,0是錯誤值,因此您的條件的第二個分支將被調用。

function getLocalDay(date) { 
    return date.getDay() ? date.getDay() : 7; 
} 

alert(getLocalDay(new Date(2016, 0, 10))); 

https://jsfiddle.net/rwgqjegb/

參考:Truthy and Falsey

+0

是的,但如果我將編輯條件'date.getDay()? 7:date.getDay()' - 函數會出錯 – Aleksandr

+0

編輯我的答案和小提琴。 –