带有OR条件的jQuery typeof

时间:2017-03-05 08:45:58

标签: jquery

我是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');  
}

哪个条件在第一个或第二个有效。如果第二个那么为什么呢?

2 个答案:

答案 0 :(得分:1)

你提供的例子都不正确:

  1. 您的第一个示例在两个比较中都放置了括号,这使得它们被视为typeof的单个参数。

  2. 您的第二个示例正确使用了typeof,但后来与a进行了比较 单个空格(' ')而不是空字符串('')。

  3. 此外,您应该使用严格相等运算符(===)而不是松散相等运算符(==)进行比较。

    合并这两种方法(并注意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)) {  

这不是您想要的有效条件检查。你想要第二个。