3

我希望用户在本月的第一天被定向到 bar.html,在本月的第二个被引导到 gjb.html,在每个月的第三个被引导到 guerr.html,在其他日期被引导到 error.html。

我究竟做错了什么?无论用户计算机上的日期如何,以下仅加载 bar.html。

<html>
<script type="text/javascript">
    currentTime = new Date();
    if (currentTime.getDate() = 1)
        window.location = "bar.html";
    else if (currentTime.getDate() = 2))
        window.location = "gjb.html";
    else if (currentTime.getDate() = 3))
        window.location = "guerr.html";
    else window.location = "error.html";
</script>
</html>

我对这一切都很陌生,所以像你对一个白痴一样解释它。

4

3 回答 3

3

只需要进行适当的相等检查,而不是您正在使用的赋值运算符:

<html>
<script type="text/javascript">
    var currentDate = new Date().getDate();
    if (currentDate === 1)
        window.location = "bar.html";
    else if (currentDate === 2))
        window.location = "gjb.html";
    else if (currentDate === 3))
        window.location = "guerr.html";
    else window.location = "error.html";
</script>
</html>

我建议===结束,==因为它会进行正确的类型检查,并且保证您会获得整数,所以这是一个更安全的检查。如有疑问,===.

于 2012-11-30T17:30:56.643 回答
1

您正在使用 设置日期currentTime.getDate() = 1。尝试currentTime.getDate() == 1currentTime.getDate() === 1。(我不是一直使用 js,但是 '=' 是错误的)。

于 2012-11-30T17:32:59.687 回答
1

尝试使用双等号 (==)。单等号表示赋值,而双等号表示比较。

例子:

// 给一个 int 赋值 a = 1;

// 给 b 赋值 int b = 2;

//查看a是否等于b

if( a == b ) {
        System.out.println("They're equal!");
}
else {
         System.out.println("They're not equal!");
} 
于 2012-11-30T17:44:43.423 回答