我一直在尝试这个简单的代码。
var d = new Date();
x = ["Sunday","Monday","Tuesday", "Wednsday", "Friday", "Saturday", "Sunday"];
d.getDay();
document.getElementById("demo").innerHTML = "Today is " + x[d];
但它不起作用。它说今天是未定义的
相反,它的工作原理是这样的document.getElementById("demo").innerHTML ="Today is " x[d.getDay()];
但是为什么?
在 d.getDay()
中使用的方法 Date#getDay 返回日期的数字,但不更改 d
,这仍然是 date 对象。要使用 getDay()
方法返回的值,您需要将结果分配给变量,或直接使用它,就像在 x[d.getDay()];
中所做的那样。
由于您使用对象d
使用括号表示法[]
来访问不存在的数组索引,因此结果会undefined
。
因为,您实际上并不需要日期,只需将日期直接分配给d
:
var d = new Date().getDay()
例:
var d = new Date().getDay();
var x = ["Sunday", "Monday", "Tuesday", "Wednesday", "Friday", "Saturday"];
document.getElementById("demo").innerHTML = "Today is " + x[d];
<div id="demo"></div>