-1

可能重复:
是否有标准函数来检查 JavaScript 中的 null、未定义或空白变量?

if语句中的条件如何评估为 JavaScripttruefalseJavaScript?

4

2 回答 2

3

undefined, null, "", 0, NaN, 和false都是“假”值。其他一切都是“真实”的价值。

如果您测试“假”值,则条件为假。例如:

var a = 0;

if (a) {
    // Doesn't happen
}
else {
    // Does happen
}

如果您测试“真实”值,则条件为真:

var a = 1;

if (a) {
    // Does happen
}
else {
    // Doesn't happen
}
于 2013-01-26T11:32:29.433 回答
3

无论条件表达式的结果是什么,它都通过以下方式转换为布尔值ToBoolean

  1. exprRef是评估的结果Expression
  2. 如果ToBoolean(GetValue(exprRef))true,则
    返回对第一个求值的结果Statement
  3. 否则,
    返回计算第二个的结果Statement

对于每种数据类型或值,都明确定义了布尔值的转换规则。因此,例如,undefinednull都转换为false.

于 2013-01-26T11:41:36.420 回答