如何在javascript中计算语句if
可能重复:如何在javascript中计算语句if,javascript,if-statement,Javascript,If Statement,可能重复: 如果语句在JavaScript中计算为true或false,未定义的,null,“,0,NaN和false都是“假”值,那么语句中的条件如何计算。其他一切都是“真实”的价值观 如果测试一个“假”值,则条件为假。例如: var a = 0; if (a) { // Doesn't happen } else { // Does happen } 如果测试“真实”值,则条件为真: var a = 1; if (a) { // Does happen } e
如果
语句在JavaScript中计算为true
或false
,未定义的,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
}
无论条件表达式的结果是什么,它都是:
让exprRef
作为计算Expression
的结果
如果ToBoolean(GetValue(exprRef))
为true
,则
返回计算第一条语句的结果
否则,
返回计算第二条语句的结果
对于每个数据类型或值。例如,undefined
和null
都被转换为false
请看下面的答案:@Juhana:这解释了等式比较算法,而不是if
语句是如何计算的。我很确定这是OP所问的,他只是没有使用正确的术语。可能是错误的。+1顺便说一句,现在规范有了一个规范的HTML版本:没有es5.github.com那么漂亮,但是也没有大的奇怪的绿色家伙。:-)@T.J.Crowder::D那个绿色的家伙真的很令人不安;)