【问题标题】:The purpose of : "if(boolean) return;". in Javascript目的:“if(boolean) return;”。在Javascript中
【发布时间】:2018-09-19 11:25:24
【问题描述】:

考虑以下代码:

if(boolean) return;

如果出现这种情况,目的是什么?

逻辑上是否相同:

if(boolean) { return true; }

感谢您的回答!

【问题讨论】:

  • 没有更多的上下文是不可能的。嗯,直接回答是“不”,因为它根本不一样,但你可能会问一个更复杂的问题。
  • 基本上如果满足某个条件,就停止评估函数。

标签: javascript if-statement logic


【解决方案1】:

return; 没有值等于return undefined;。但它通常用在不期望返回值的函数中,所以它只是意味着“现在退出函数”。

所以该代码相当于:

if (boolean) {
    return undefined;
}

【讨论】:

    【解决方案2】:

    基本上,在第一种情况下,您不关心返回值:return 本身通常用于在满足特定条件时停止函数。

    第二种情况如果完全不同:return true 表示您对函数的返回值感兴趣:例如,一个名为 isEmpty() 的函数检查给定列表是否包含至少一个元素,预期返回的值是可以是truefalse。在这种情况下,单独的 return 语句没有任何意义。

    【讨论】:

      【解决方案3】:

      if(boolean) { 返回真; } 表示如果条件正确,则返回 true

      如果(布尔)返回;

      表示如果条件为真停止 它用于不同的目的,例如验证,如果条件不符合函数的标准,则停止运行。

      【讨论】:

        【解决方案4】:

        第一个执行 if 语句并返回一个“未定义”的返回调用,而不管 if 语句的结果如何。只有当 if 语句为真时,第二个才返回真布尔值。

        【讨论】:

          【解决方案5】:

          考虑一个例子,你有一个文本框和一个提交按钮。您想验证文本框是否未提交为空。

          function validateForm() {
          var x = document.forms["myForm"]["fname"].value;
          if (x == "") {
          alert("Name must be filled out"); return;  }}
          

          尝试在 txt 框中提交没有值的表单。

          案例1(返回):它会显示警报但不会限制提交。 情况2(返回真):同上。 Case 3 (return false) : 最后会限制提交。 First to 行为类似,因为 return;将返回未定义,但不是假的。

          【讨论】:

            【解决方案6】:

            return 语句中断函数的执行,并为当前函数留下一个值或未定义的值。

            在第一种情况下,return 语句中断函数的执行并发送布尔值。

            function returnValue(){
                     return true;
                }
            
            returnWithValue();// this function hold the Boolean value
            var value = returnWithValue();//true
            

            在第二种情况下,return 语句会中断函数的执行并发送未定义的值,因为我们没有提供值。保存返回值的变量已创建但未分配任何值。

            function returnWithoutValue(){
                  return;
            }
            

            returnWithoutValue();// 这个函数持有未定义的值,因为我们还没有发送任何值 var value = returnWithoutValue();//未定义

            【讨论】:

              猜你喜欢
              • 2013-05-21
              • 2012-08-03
              • 2022-12-01
              • 2010-10-25
              • 2015-10-20
              • 2012-02-29
              • 2016-06-02
              • 1970-01-01
              • 2022-12-02
              相关资源
              最近更新 更多