为了账号安全,请及时绑定邮箱和手机立即绑定

在 JavaScript 中我需要什么 return 语句?

在 JavaScript 中我需要什么 return 语句?

幕布斯7119047 2021-11-25 16:31:26
我试图将我的头放在 return 语句上,但我看不出我应该使用它的原因。我的代码在不使用一个的情况下工作得很好......在两个示例中,我的控制台打印出来与10我是否使用 return 无关。无回报:var sum = 5;function myFunction() {    sum += 5;}myFunction();console.log(sum);有回报:var sum = 5;function myFunction() {    return sum += 5;}myFunction();console.log(sum);
查看完整描述

3 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

默认情况下,函数返回值undefined。如果您希望函数返回某个其他值,则需要有一个 return 语句。


您还可以使用 return 语句根据某些逻辑停止函数的执行,再次返回一个具有某种含义或只是未定义的值。


在 OP 的第一个示例中,函数被调用并且返回值不用于任何事情,因此返回值是什么并不重要,并且不需要 return 语句。


在另一种情况下,返回值可能很重要,例如一个生成 0 到 10 之间的整数随机数的函数:


function getRandomInteger(){

  return Math.floor(Math.random() * 11);

}


function showRandomNumber() {

  document.getElementById('s0').textContent = getRandomInteger();

}

<button onclick="showRandomNumber()">Show random number</button>

<span id="s0"></span>


上面的getRandomInteger函数需要返回一个特定的值,所以使用了return语句。该showRandomNumber功能只是显示随机数,所以它并不需要一个return语句作为调用者(按钮上的监听器)不关心的返回值是什么。


查看完整回答
反对 回复 2021-11-25
?
慕斯709654

TA贡献1840条经验 获得超5个赞

您的情况 a 的技巧是函数的范围。在这两种情况下,变量 sum 都是在全局范围内定义的。当您调用该函数时,它会经历以下步骤:

  1. 查看当前步骤中是否定义了 var sum 既然它没有在函数内部定义,那么走一步看一下外部作用域。是的,这里定义了,开始使用吧。

  2. 进行计算。您正在使用增量运算符,sum += 5因此实际上它可以写为sum = sum + 5. 如果您查看第二种情况,您会注意到变量现在增加了值。而且由于该变量是从全局范围中获取的,因此您的函数只会对其进行变异。 注意:此时无论您是否从函数中返回某些内容。你的函数只是改变了外部变量。

  3. 最后一步——退出函数。正如我之前所说,只有当您想直接使用函数调用的结果时,返回值才重要,例如:var result = myFunction()


查看完整回答
反对 回复 2021-11-25
?
aluckdog

TA贡献1847条经验 获得超7个赞

这是您的示例发生的情况:


var sum = 5; //Sets the sum to =5


function myFunction() {

    return sum += 5; // += reassigns the global (sum) to 10

}


myFunction();


console.log(sum); 

一个更好的例子是这样的:


 sum = 5;

 function myFunction() {

     var sumOther = sum + 5;

     return sumOther;

console.log(“sum:” + sum); // 5

console.log(“myFunction:” + myFunction()); // 10

这就是你如何获得函数的运行而不是全局变量“sum”



查看完整回答
反对 回复 2021-11-25
  • 3 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信