if
语句中的条件如何评估为 JavaScripttrue
或false
JavaScript?
问问题
163 次
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
:
- 让
exprRef
是评估的结果Expression
。- 如果
ToBoolean(GetValue(exprRef))
是true
,则
返回对第一个求值的结果Statement
。- 否则,
返回计算第二个的结果Statement
。
对于每种数据类型或值,都明确定义了布尔值的转换规则。因此,例如,undefined
和null
都转换为false
.
于 2013-01-26T11:41:36.420 回答