【问题标题】:return false; return true; am confused返回假;返回真;我很困惑
【发布时间】:2015-04-02 15:38:29
【问题描述】:

下面是我的jquery函数

function chekTouch($div1, $div2) {
      var x1 = $div1.offset().left;
      var y1 = $div1.offset().top;
      var h1 = $div1.outerHeight();
      var w1 = $div1.outerWidth();
      var b1 = y1 + h1;
      var r1 = x1 + w1;
      var x2 = $div2.offset().left;
      var y2 = $div2.offset().top;
      var h2 = $div2.outerHeight();
      var w2 = $div2.outerWidth();
      var b2 = y2 + h2;
      var r2 = x2 + w2;

      if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
      return true;
}

我不明白写return false 后跟return true 是什么意思。 谁能不厌其烦的给我解释???

【问题讨论】:

    标签: jquery return


    【解决方案1】:
    if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
          return true;
    

    等价于

    if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) 
    {
       return false; //If your condition is true then return false
    }
    else
    {
       return true;  //If condition is false then return true
    }
    

    If 条件只包含一个语句,那么它可以写没有brackets 和If 条件包含多个语句,那么它必须写在括号内。

    【讨论】:

    • 那我可以写 if (b1 b2 || r1 r2) alert("1");警报(“2”); ???
    • 是的,如果你的条件为真,你可以写alert(1),否则alert(2)会被执行。
    • @vamsi 如果条件是true,两者都会收到警报,因为您之前没有返回任何内容。这是一些基本的编码行为,你应该检查一些 tuto imho
    • @vamsi 对不起!在您给定的情况下,如果条件为真,那么alert 都将按照@A.Wolff 的评论执行
    • 如果你写了return关键字,那么return的下一部分将不会被执行。
    【解决方案2】:

    如果满足条件( b1 b2 || r1 r2 ),它将返回 false。 如果不是,它将始终返回 true。

    【讨论】:

      【解决方案3】:

      您可能会认为这两个语句都会被执行而感到困惑。只执行了一个return,所以没有冲突。

      如果if 条件为真,则执行return false,并且该方法的逻辑流程到此结束。它永远不会到达下一行,因为在执行return false 时放弃了方法

      【讨论】:

      • 谢谢@Claudio Redi,我现在明白了
      【解决方案4】:

      如果没有复合语句,即只有一个语句,那么您可以使用不带 {}(大括号)的 if-else

       if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
        return true;
      

      这仅仅意味着如果检查 b1 &lt; y2 || y1 &gt; b2 || r1 &lt; x2 || x1 &gt; r2 集体返回 true 然后进入 if 正文并执行 return false 否则不要来执行下一条语句,即在你的情况下 return true

      【讨论】:

        猜你喜欢
        • 2020-08-21
        • 1970-01-01
        • 1970-01-01
        • 2020-03-02
        • 2012-07-17
        • 2012-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多