如何在JavaScript中定义一个空的变量,但为if条件赋予true

时间:2017-03-21 08:43:01

标签: javascript



var a = '';
if (a) {
  console.log("True Value");
} else {
  console.log("False Value");
}




以上代码记录"虚假值"出于显而易见的原因,我想设置变量' a'一个空值,当它与if和#34; True Value"一起使用时返回true。

设置' a'空对象/数组工作得很好但是,我也想在两个变量之间进行比较但对于对象是不可能的,因为它们是通过引用而不是值进行比较。

此外,我无法更改if else条件,因为它处理除此之外的许多情况。

4 个答案:

答案 0 :(得分:0)

我不确定你是否正确地提出了这个问题。这将检查值是否不是nullundefined,因此任何其他falsey值将在if语句中评估为true。例如。 []0false将通过



var a  = '';
if(a != null){
  console.log("True Value");
}else{
  console.log("False Value" );
}




答案 1 :(得分:0)

可能这个?

// allow empty values inside, but false if undefined
if (typeof a !== 'undefined') {
  // true
}

答案 2 :(得分:0)

您需要更改if else条件或var' a'因为我们无法改变javascript行为。 它总是将空字符串视为虚假值!

我希望它适合你



var a = '';
var a = (a) ? false : true;
if (a) {
  console.log("True Value");
} else {
  console.log("False Value");
}




答案 3 :(得分:0)

OP,我推断你的要求是:

  1. 无法更改任何Javascript代码,只能更改a
  2. 的内容
  3. 代码片段必须输出“True Value”。
  4. 必须是值类型。
  5. 无论如何都必须“空”。
  6. 无论如何:

    var a = '\0';  //Null
    if (a) {
      console.log("True Value");
    } else {
      console.log("False Value");
    }
    
    alert("See? It's empty. No space.>>>" + a + "<<<");