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'清除整个文档! –
谢谢我没有这个 –