我不懂javascript中的函数返回

时间:2015-04-25 01:58:12

标签: javascript function return

任何人都可以解释为什么在函数中使用javascript return语句?何时以及为什么要使用它?

请帮帮我。

3 个答案:

答案 0 :(得分:8)

  

为什么在函数中使用它?

<强> 1。返回函数的结果

返回执行的操作 - 返回返回函数调用者

function sum(num1, num2) {
  var result = number1 + number2

  return result
}

var result = sum(5, 6) // result now holds value '11'

<强> 2。停止执行功能

使用return的另一个原因是因为它打破函数的执行 - 这意味着如果你点击return,函数会停止< / em>运行跟随它的任何代码。

function sum(num1, num2) {
  // if any of the 2 required arguments is missing, stop
  if (!num1 || !num1) {
    return
  }

  // and do not continue the following

  return number1 + number2
}

var result = sum(5) // sum() returned false because not all arguments were provided
  

我们为什么要使用它?

因为它允许您重用代码。

例如,如果您正在编写一个执行几何计算的应用程序,那么您可能需要计算2点之间的距离;这是一个常见的计算方法。

  • 每次需要时,您会再次编写公式吗?
  • 如果你的公式错了怎么办?你会访问所有中的地方吗? 编写公式以进行更改的代码?

不 - 相反,你将它包装成一个函数并让它返回结果 - 所以你编写一次公式,然后你可以在任何地方重复使用它:

function getLineDistance(x1, y1, x2, y2) {
  return Math.sqrt((Math.pow((x2 - x1), 2)) + (Math.pow(( y2 - y1), 2)))
}

var lineDistance1 = getLineDistance(5, 5, 10, 20); 
var lineDistance2 = getLineDistance(3, 5, 12, 24);

答案 1 :(得分:1)

您使用return语句有两个原因:

  1. 从函数返回特定值。

  2. 在函数的最后一行代码之前完成函数的执行。

  3. 没有任何return value;语句,该函数不返回特定值(技术上返回值为undefined)。

    如果函数中没有特定的return语句,函数将一直运行到函数中的最后一行代码。

    示例:

    function add(x, y) {
        // return a sum of the two arguments
        return x + y;
    }
    
    console.log(add(1, 3));    // 4
    
    
    function findParm(str, key) {
        if (!str || !key) {
             // invalid parameters, so return null
             return null;
        }
        var pieces = str.split("&");
        for (var i = 0; i < pieces.length; i++) {
            var loc = str.indexOf(pieces[i] + "=");
            if (loc >= 0) {
                // when we've found a match, return it and finish execution of the function
                return str.slice(loc + key.length + 1);
            }
        }
        // no match found, return null
        return null;
    }
    
    var str = "user=John&login=yes"
    findParam(str, "login");          // "yes"
    

答案 2 :(得分:1)

它用于从函数返回一个值。

假设您想要一个函数来进行一些计算......例如,在浏览器屏幕上计算一个div框的左侧位置。

你调用函数并给它html选择器,然后函数'返回'左边的位置值。