当前位置: 首页 > 面试题库 >

每个Javascript函数都必须返回一个值吗?

东方俊材
2023-03-14
问题内容

我写的是,我正在使用Netbeans向每个函数添加类似专业的注释。因此,我从每一个开始/**,然后按Enter来让Netbeans完成用于以下功能的默认注释方案。

到现在为止,我一直只在PHP语言中使用它,在这种情况下@returns {type},如果遵循PHP函数确实包含了return声明,则Netbeans始终仅在注释方案中添加部分。在所谓的“过程”(不返回任何值的函数)上,缺少此部分。

今天,我为Javascript函数尝试了同样的事情,@returns {undefined}即使跟随函数不返回任何内容,Netbeans也在注释方案中添加了一部分。

这让我感到困惑。Netbeans是否以这种方式建议每个Javascript函数都必须返回任何内容?我该怎么办?忽略(或删除)该注释方案的一部分或遵循建议(如果完全是建议),并return false;在此功能的末尾添加,尽管这对我来说毫无用处?


问题答案:

最简洁的答案是不。

真正的 答案是肯定的:JS引擎必须要通知一些功能已经完成了它的业务,这是由函数返回有所作为。这也是为什么说函数 “已返回” 而不是
“完成”的 原因。 缺少显式return语句的函数将返回,例如说没有返回值的C(++)函数(其签名反映了这一点)将返回: __
undefined``void

void noReturn()//return type void
{
    printf("%d\n", 123);
    return;//return nothing, can be left out, too
}

//in JS:
function noReturn()
{
    console.log('123');//or evil document.write
    return undefined;//<-- write it or not, the result is the same
    return;//<-- same as return undefined
}

同样,在JS中,就像大多数每种语言一样,您可以随意忽略函数的返回值,这是非常困难的:

(function()
{
    console.log('this function in an IIFE will return undefined, but we don\'t care');
}());
//this expression evaluates to:
(undefined);//but we don't care

在一些 非常 低的水平,在回报转换成某种跳跃。如果一个函数真的 什么也没有 返回,就无法知道什么以及何时调用下一个函数,或者调用事件处理程序等等。

回顾一下:不,一个JS函数不需要返回任何代码。但是就JS引擎而言:函数 总是
返回某些内容,无论是通过return语句来显式还是隐式地。如果函数隐式返回,则其返回值将始终是未定义的。



 类似资料:
  • 问题内容: 我最近阅读了许多有关使用JavaScript进行排序的答案,而且我经常偶然发现一个如下所示的compare函数: 因此,它是一个比较函数,如果大于1则返回1,如果小于OR EQUAL TO 则返回-1 。如MDN(link)所述,比较函数也可以返回零,以确保两项的相对位置保持不变: 如果compareFunction(a,b)返回0,则a和b彼此保持不变,但对所有不同元素进行排序。 因

  • 我正在创建一个谷歌数据流管道使用Apache梁2. x 基本上,我有一个文本文件,每一行都包含一个英语句子。 我试图调用谷歌NLP(情感)API为每一个新的行/句子。 因此,我有一个调用NLP API的函数: 我用ParDo为每个句子调用这个函数。我假设,下面的ParDo将自动为文本文件中的每一行调用NLP情感api(基本上我不必遍历文本文件中的每一行!) 但在执行数据流后,我得到了这个错误: T

  • 问题内容: 选项:使用元组 考虑下面这个简单的例子: 但是,随着返回值的数量增加,这很快就会成为问题。如果要返回四个或五个值怎么办?当然,你可以继续修改它们,但是很容易忘记哪个值在哪里。在任何想要接收它们的地方打开它们的包装也是很丑陋的。 选项:使用字典 下一步的逻辑步骤似乎是引入某种“记录符号”。在Python中,一种明显的方法是使用dict。 考虑以下: (请注意,y0,y1和y2只是抽象标识

  • 本文向大家介绍PowerShell函数一次返回多个返回值示例,包括了PowerShell函数一次返回多个返回值示例的使用技巧和注意事项,需要的朋友参考一下 本文介绍在自定义PowerShell函数时,如何让函数返回值,如何接收返回值,如何让不相干的内容不放到返回值数组中。 PowerShell函数体中的任何输出,一般来说,都会以返回值的形式返回给函数调用者。多个输出的内容是放到一个返回值数组中的。

  • 我试图使用web控制台获取页面上所有h2标记中的文本。 我所发现的就是使用每一种,我已经试过了 但是它返回