如何在javascript中评估语句if [重复]
Posted
技术标签:
【中文标题】如何在javascript中评估语句if [重复]【英文标题】:How the statement if is evaluated in javascript [duplicate] 【发布时间】:2013-01-10 06:48:27 【问题描述】:可能重复:Is there a standard function to check for null, undefined, or blank variables in javascript?
if
语句中的条件如何在 JavaScript 中评估为 true
或 false
?
【问题讨论】:
看到这个答案:***.com/a/665056/502381 @Juhana:这解释了相等比较算法,而不是如何评估if
语句。
我很确定这是 OP 的要求,他只是没有使用正确的术语。不过可能是错的。
【参考方案1】:
无论条件表达式的结果是什么,都是converted to a Boolean by ToBoolean
:
让
exprRef
成为评估Expression
的结果。 如果ToBoolean(GetValue(exprRef))
是true
,那么 返回第一个Statement
的评估结果。 否则, 返回第二个Statement
的评估结果。
对于每个数据类型或值,the conversion rules to a Boolean are clearly defined。因此,例如,undefined
和 null
都转换为 false
。
【讨论】:
+1 顺便说一句,现在有规范的 html 版本:ecma-international.org/ecma-262/5.1 不如 es5.github.com 漂亮,但也没有那个奇怪的绿色大家伙。 :-) @T.J.Crowder: :D 绿人真的很烦人 ;)【参考方案2】: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
【讨论】:
以上是关于如何在javascript中评估语句if [重复]的主要内容,如果未能解决你的问题,请参考以下文章