gpt4 book ai didi

javascript - if 条件让值溜走

转载 作者:行者123 更新时间:2023-12-02 14:06:39 26 4
gpt4 key购买 nike

在 javascript 中,我制作了一个计时器,启动时,如果计时器已启动或未启动,我会在 cookie 中保留该值。在文件的开头,我将该 cookie 分配给变量“timerStarted”。现在,当我加载另一个页面时,它应该检查计时器是否已启动,如果是,则启动计时器,以便计时器在页面重新加载后继续运行。如果 timerStarted 的值为 false,则不应启动计时器。我尝试了以下操作:

alert(timerStarted);
timerStarted = false;

if(timerStarted !== false || timerStarted !== "false" || timerStarted.valueOf() !== false)
{
alert(timerStarted);
startTimer();
}

在我的 JS 文件的开头:

var timerStarted = Cookies.get('timerStarted') ? Cookies.get('timerStarted') : false;

问题是,如果timerStarted为假,它仍然运行if条件。当我事先警告时它是假的,在这种情况下,当代码:timerStarted = false;时它也是假的。未插入。计时器启动= false;这是我最后一次尝试确保它确实具有错误值,但它仍然运行 if 代码。当我尝试使用timerStarted === true的条件时,它会反过来,即使timerStarted为true,计时器也会停止。

编辑:

alert(timerStarted);
if(timerStarted != false)
{
alert(timerStarted);
startTimer();
}

此代码仍然会提醒 true 两次和 false 两次,而只有 true 应该提醒两次。

最佳答案

The problem is that if timerStarted is false it still runs the if condition

那是因为

  • 您使用了!==,这是不相同运算符,
  • 您正在使用 || 而不是 &&,并且
  • 如果是字符串,则不需要timerStarted.valueOf

试试这个

if( timerStarted != false )
{
alert(timerStarted);
startTimer();
}

关于javascript - if 条件让值溜走,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39993145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com