为什么将 var 与 "text" 进行比较不起作用?



我在JavaScript中制作了ifelse语句,但我无法正常工作。

这是我的代码,希望你们能看到错

var int = "";
function fbLoop (userLoop)
{
    int=setInterval(function(){fbCheckloop(userLoop)},1000);
}
function fbCheckloop(userCheck)
{
    if(userCheck.login != 'false')
    {
        window.clearInterval(int);
        console.log(userCheck);
        fbUpload(userCheck);
    }
    else
    {
        $.get("uploadtofb.php", {functie: "checklogin", fotonaam: userCheck.fotonaam}, fbCheckloop);
    }
}


if(userCheck.login != 'false')不起作用。
console.log(userCheck);显示此
{"login":"false","fotonaam":"NAME"}
因此,根据控制台日志,他必须执行else,但他执行if语句。

我做错了什么?

userCheck来自此:

return json_encode($checklog = array( 'login' => 'false', 'fotonaam' => $_GET['fotonaam'] ));

您确定 userCheck是一个JavaScript对象,而不是必须解析的JSON字符串?您当前的控制台日志结果使我怀疑是。console.log(typeof userCheck)的收益什么?

如果是,请使用

userCheck = JSON.parse(userCheck)

如果userCheck.login具有布尔值false,请使用if(userCheck.login != false)

false周围无需引号。