【问题标题】:JavaScript - If statement in if statement conditionJavaScript - if 语句条件中的 If 语句
【发布时间】:2017-09-06 23:56:48
【问题描述】:

我想在 if 语句条件中检查元素是否存在,如果存在,则使用该元素作为比较的一部分。像这样的:

if( if($(".element").length > 0) { $.contains( $(".element")[0], $("[ele]")[0] )} ) {...

我知道我可以嵌套 if 语句,例如:

if($(".element").length > 0) {
    if($.contains( $(".element")[0], $("[ele]")[0] )) {....

但是有没有更短的方法可以做到这一点? if 语句可以以某种方式在另一个 if 语句的条件中使用吗?

【问题讨论】:

标签: javascript jquery if-statement logic


【解决方案1】:

您可以使用&& 运算符来链接您的两个条件:

if($(".element").length > 0 && $.contains( $(".element")[0], $("[ele]")[0] )) {

如果第一个条件失败(&&之前的代码),它将短路并且不执行第二个条件。

【讨论】:

    【解决方案2】:

    您可以为此使用&&(和)运算符。如果&& 左边的东西是假的,那么它不会评估&& 的右边,所以你不必担心元素不存在的任何错误。 (这称为短路评估,||(或)做了类似的事情,除了|| 如果左侧为真,则不评估右侧。)所以

    if($(".element").length > 0 && $.contains( $(".element")[0], $("[ele]")[0] )) ...
    

    这里没有必要,但是如果你想在表达式中使用if-else,你可以使用?:(三元条件)运算符。 condition ? a : bif(condition) a else b 类似,只是它实际上是一个表达式,例如,x = (condition ? a : b)if(condition) x = a; else x = b; 相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 2016-02-28
      • 2021-09-11
      • 2022-01-15
      相关资源
      最近更新 更多