早上好。Javascript致敬秀
請根據小時數顯示敬禮訊息。嘗試了這種自動初始化功能,它可以工作,但獨立於什麼時間,他顯示:「晚安」。我在做什麼錯了?誰能幫忙?
下面是代碼:
(function(){
function saluteText() {
var d = new Date();
var time = d.getHours();
var divInnerHTML = document.querySelector('.name');
if (time < 12) {
function addInnerHTML() {
divInnerHTML.innerHTML = 'Good morning!';
}
}
else if (time >=12 && time <18) {
function addInnerHTML() {
divInnerHTML.innerHTML = 'Good evening!';
}
}
else if (time >= 18 && time < 24) {
function addInnerHTML() {
divInnerHTML.innerHTML = 'Good night!';
}
}
addInnerHTML();
}
saluteText()
})();
爲什麼你有這些'addInnerHTML()'的功能呢?爲什麼不直接在每個if/else情況下設置innerHTML?如果你想有條件地定義一個函數,你需要在if/else塊之前聲明'var addInnerHTML;',然後在if/else中設置'addInnerHTML = function(){...}'。 – nnnnnn