如果我将变量设置为0,我会得到与“”(空)的比较为真的奇怪行为。如何检查变量是否为空?
tmp = 0;
if ( tmp != "")
{
//do something - This is where the code goes.
}
else
{
//isEmpty - I would expect to be here
}
答案 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中,0
,NaN
,undefined
,false
和null
以外的所有内容都被视为错误。 “”被视为true
。
if (tmp) {
}
如果变量包含if
,0
,NaN
,undefined
和false
以外的任何值,则会执行null
以上。< / p>
如果tmp
是string
,那么您可以使用以下代码:
if (tmp !== "") {
}
===
和!==
运算符在不进行类型转换的情况下进行比较。