var afternoon = document.write = "Good afternoon";
這裏做的事情是引入了一個名爲afternoon
變量,同時設置它和財產write
上document
,這在以前是一個函數調用,以字符串"Good afternoon"
。
在代碼的稍後階段,您只需編寫afternoon
,它訪問該變量,但不對其執行任何操作。
它看起來像你想要做這樣的事情:
var morning = function() { document.getElementById("greeting").innerHTML="Good Morning "; };
var afternoon = function() { document.getElementById("greeting").innerHTML="Good Afternoon "; };
var evening = function() { document.getElementById("greeting").innerHTML="Good evening"; };
if (time < 12) {
morning();
} else if (time < 18) {
afternoon();
} else {
evening();
};
也就是說,上述將是最接近你的代碼,這是有些正確的。我仍然會說有一些改進的餘地。像下面的內容會更有意義對我說:
var morning = 'Good Morning ';
var afternoon = 'Good Afternoon ';
var evening = 'Good evening';
if(time < 12) {
document.getElementById("greeting").innerHTML = morning;
} else if (time < 18) {
document.getElementById("greeting").innerHTML = afternoon;
} else {
document.getElementById("greeting").innerHTML = evening;
}
更重要的是,你很可能決定你首先要使用的消息,然後分配給它,它會給你少的地方,如果你改變你的代碼想要更改輸出問候語的位置,例如:
var messages = {
morning: 'Good Morning ',
afternoon: 'Good Afternoon ',
evening: 'Good evening'
};
var greeting = time < 12
? messages.morning
: time < 18
? messages.afternoon
: messages.evening;
document.getElementById('greeting').innerHTML = greeting;
爲什麼在一個地方使用'innerHTML'而在另一個地方使用'document.write'? –
爲什麼'evening = document.write =「晚上好」;'你是否指定了'document.write'方法?請記住'document.write'清除整個文檔! –
謝謝我沒有這個 –