我无法弄清楚我对getDay()做错了什么

时间:2018-03-01 22:42:52

标签: javascript if-statement

我想让页面检测是否是星期四,以及是否显示了一些文字。我不明白为什么这不起作用。是因为我可以做=如果比?请解释一下,谢谢!

    <!DOCTYPE html>
    <html>
    <body>
    <p id="demo"></p>
    <p id="bleh"></p>

    <script>
    var day;
    switch (new Date().getDay()) {
        case 0:
            day = "Sunday";
            break;
        case 1:
            day = "Monday";
            break;
        case 2:
            day = "Tuesday";
            break;
        case 3:
            day = "Wednesday";
            break;
        case 4:
            day = "Thursday";
            break;
        case 5:
            day = "Friday";
            break;
        case  6:
            day = "Saturday";
    }
    document.getElementById("demo").innerHTML = "Today is " + day;
    </script>

   <p id="bleh"></p>

<script>
function myFunction() {
    if(new Date().getDay() == 4)
        document.getElementById("bleh").innerHTML = "Check your grades.";
    }
}
</script>


    </body>
    </html>

不起作用的部分是这一部分:

<script>
function myFunction() {
    if(new Date().getDay() == 4)
        document.getElementById("bleh").innerHTML = "Check your grades.";
    }
}
</script>

P.S。我会使用OnTime,但是我从github页面托管我的网页,所以我无法在那里加载它,这就是我使用这种类型的JS的原因。

3 个答案:

答案 0 :(得分:1)

if (day = 4;) {

请注意您应该使用===的单个===。同时删除分号:

if (day === 4) {

同样,正如评论中所指出的那样,你应该把这一天作为一个字符串来检查,因为这就是你设置的内容!

if (day === "Thursday") {

答案 1 :(得分:0)

将日期名称存储在像这样的数组

中会不会更好
var days = [
  'Sunday',
  'Monday',
  'Tuesday',
  'Wednesday',
  'Thursday',
  'Friday',
  'Saturday'
];

function getCurrentDayName (dayIndex) {
  return days[dayIndex];
}

console.log(getCurrentDayName (new Date ().getDay()))

答案 2 :(得分:0)

你可以更容易地得到这样的名字:

# coding: utf8
import json
d = json.loads("""{"mykey": {"readme": "Café"}}""", encoding='latin1')
print d['mykey']['readme'].encode('latin1')
let today = new Date()

demo.innerHTML = 
  `Today is 
  ${new Intl.DateTimeFormat('en-US', {weekday: 'long'})
  .format(today)}`;

let toDay = today.getDay()

bleh.innerHTML =
  toDay === 4 ?
  'Check your grades.' :
  `Not Thursday. Come back in 
  ${(11 - toDay) % 7} 
  days to re-check.`