我如何与空变量进行比较?

时间:2013-04-17 09:32:32

标签: javascript is-empty appconkit

如果我将变量设置为0,我会得到与“”(空)的比较为真的奇怪行为。如何检查变量是否为空?

tmp = 0;

if ( tmp != "")
{
    //do something - This is where the code goes.
}
else
{
   //isEmpty - I would expect to be here
}

4 个答案:

答案 0 :(得分:4)

使用strict comparison operators ===!==

使用==!=(称为抽象比较运算符),

  

如果两个操作数的类型不同,则JavaScript会尝试   将操作数转换为适当的类型进行比较。


如果为空,您想要检查变量是否尚未定义,请使用:

if (typeof tmp !== "undefined") {
    // it exists!
}

答案 1 :(得分:0)

empty variable你是什么意思?如果您指的是空字符串,则应使用!==进行检查。

if (tmp !== "")

答案 2 :(得分:0)

JavaScript隐式地将值转换为其他类型。要同时检查类型,请使用!==运算符:

if ( tmp !== "")

答案 3 :(得分:0)

在JavaScript中,0NaNundefinedfalsenull以外的所有内容都被视为错误。 “”被视为true

if (tmp) {

}

如果变量包含if0NaNundefinedfalse以外的任何值,则会执行null以上。< / p>

如果tmpstring,那么您可以使用以下代码:

if (tmp !== "") {

}

===!==运算符在不进行类型转换的情况下进行比较。