簡體   English   中英

有人可以向我解釋為什么這個 var 是未定義的嗎?

[英]Can someone explain to me why this var is undefined?

我一直在嘗試這個簡單的代碼。

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 ,它仍然是日期對象。 要使用getDay()方法返回的值,您需要將結果賦給一個變量,或者直接使用它,就像在x[d.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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM