我是jQuery的新手所以我想检查变量$ test是unfine / empty所以我的条件是,
var $test = '';
1.
if (typeof($test == 'undefined' || $test == '')) {
console.log('Variable is empty');
}
else
{ console.log('variable is not empty');
}
2.
if (typeof($test) == 'undefined' || $test == ' ')) {
console.log('Variable is empty');
}
else
{ console.log('variable is not empty');
}
哪个条件在第一个或第二个有效。如果第二个那么为什么呢?
答案 0 :(得分:1)
你提供的例子都不正确:
您的第一个示例在两个比较中都放置了括号,这使得它们被视为typeof
的单个参数。
您的第二个示例正确使用了typeof
,但后来与a进行了比较
单个空格(' '
)而不是空字符串(''
)。
此外,您应该使用严格相等运算符(===
)而不是松散相等运算符(==
)进行比较。
合并这两种方法(并注意typeof
不需要括号):
var $test = '';
if (typeof $test === 'undefined' || $test === '') {
console.log('Variable is empty');
} else {
console.log('variable is not empty');
}

答案 1 :(得分:0)
if (typeof($test) == 'undefined' || typeof($test) == '') {
有效,因为
在第一种情况下,它解析为
if (typeof(true/false)) {
这不是您想要的有效条件检查。你想要第二个。