javascript - if 语句中的多个条件 : Need for validating undefined before checking other conditions

标签 javascript validation if-statement multiple-conditions

<分区>

Possible Duplicate:
Javascript conditional order evaluation

if 语句中的多个条件是如何产生的?

if( bacon && bacon == "crispy") {
   self.eat(bacon);
}

如果 bacon 不存在,它是否仍会尝试检查 bacon 是否“脆”?

最佳答案

不,它使用 short-circuit evaluation ,所以如果评估 LHS 意味着它不需要评估 RHS,它就不会。

这在 JavaScript 中被频繁利用...

foo = foo || "bar";

如果 footruthy(LHS),则条件已知为 truefoo将被分配它的值(这些条件返回最后计算的表达式)。

但是,如果 foofalsy,它将计算 RHS 表达式,然后将该结果分配给 foo

关于javascript - if 语句中的多个条件 : Need for validating undefined before checking other conditions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557551/

相关文章:

javascript - 将值从 RouterStateSnapshot 传递到 Angular 2 应用程序中的根路由文件

JavaScript-onclick

javascript - 电子邮件地址的 XRegExp

javascript - 基本的 else if 和 return javascript

javascript - 为什么这段代码会导致无限循环?

c++ - 从选择的语句中删除选择

javascript - 在 angularjs 中找不到服务

javascript - Fabric js : fabric js drawing mode and selection mode options

javascript - 隐藏/显示表单输入和更改值

scala - 在使用 scala 的版本化配置的情况下,如何将解析与验证分开?