这是什么意思:if(variable){/ *做某事* /}

时间:2015-03-26 08:56:47

标签: javascript if-statement

我的问题是标题所说;

这是什么意思:

if( variable ){ /* do something */  }

我的意思是,如果变量存在做某事或什么?

2 个答案:

答案 0 :(得分:12)

这意味着如果variable truthy ,则执行该块。在JavaScript中,以下是 falsey

  • false
  • 0
  • NaN
  • undefined
  • null
  • ""(空字符串)

除了上述内容之外,其他一切都是 truthy ,也就是说,它们评估为true

如果变量根本不存在(也就是说,它从未声明过),那可能会抛出ReferenceError,因为它试图读取变量的值那不存在。

所以这会引发错误:

if (variableThatDoesntExist) {
    console.log("truthy");
}

这会记录“truthy”这个词:

var variable = "Hi there";
if (variable) {
    console.log("truthy");
}

这不会记录任何内容:

var variable = "";
if (variable) {
    console.log("truthy");
}

答案 1 :(得分:1)

使用Javacript语法检查变量是truthy还是falsy

if (variable is true) { /* Do something */}

类似

在Javascript中,这些是falsy值。

  1. 0(零)
  2. "" (空字符串)
  3. 未定义
  4. NaN(非数字)
  5. 所有其他值都是真实的,包括" 0" (零作为字符串)," false" (作为字符串为false),空函数,空数组和空对象。