var afternoon = document.write = "Good afternoon";
这样做的目的是引入一个名为的变量afternoon
,并将它和属性write
on document
(以前是一个函数调用)设置为 string "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;