【问题标题】:Console.log and function return (Javascript)Console.log 和函数返回 (Javascript)
【发布时间】:2017-06-13 15:11:56
【问题描述】:

抱歉,如果之前有人问过这个问题,我是编码的新手,不太确定要搜索的关键字。

这个函数为以后的超时分配一些随机值:

function getDelays(tonesTotal){
    var return_array = new Array();
    for (var i = 0; i < tonesTotal; i++)
    {
        var r = getRandInt(0, 600);    
        var delay = r * 1000;
        return_array.push(delay);  
    }
    console.log(return_array);
    return return_array; 
}

以这种方式,控制台正确地记录了return_array ...但颠倒了顺序:

    return return_array; 
    console.log(return_array);

... 控制台是静默的。为什么?

【问题讨论】:

    标签: javascript function console return


    【解决方案1】:

    The return statement ends function execution and specifies a value to be returned to the function caller.

    这实际上意味着,在 return 语句之后的任何内容都不会到达,因此不会被执行。有 IDE 编辑器会警告您这个问题。

    【讨论】:

      【解决方案2】:

      return 语句退出当前函数。

      不会运行更多代码。

      【讨论】:

        【解决方案3】:

        return 语句退出函数并且下一个代码语句不运行。如果您使用诸如 ESLint、JSLint 之类的 linter 工具,它们将显示警告 检测到无法访问的代码

        return 语句结束函数执行并指定要返回给函数调用者的值。如果您没有在 return 语句中指定值并像 return 一样使用它,则该函数将返回 undefined

        【讨论】:

          【解决方案4】:

          return 语句将程序执行退出函数并返回到调用函数的位置。之所以没有调用console.log(),是因为如果执行了return语句,则永远不会到达该函数下的所有代码。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-07-03
            • 1970-01-01
            • 2019-10-30
            • 2021-01-11
            • 1970-01-01
            • 2020-05-31
            • 2014-12-23
            • 2015-11-12
            相关资源
            最近更新 更多