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

我试图将我的头放在 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);


幕布斯7119047
浏览 124回答 3
3回答

跃然一笑

默认情况下,函数返回值undefined。如果您希望函数返回某个其他值,则需要有一个 return 语句。您还可以使用 return 语句根据某些逻辑停止函数的执行,再次返回一个具有某种含义或只是未定义的值。在 OP 的第一个示例中,函数被调用并且返回值不用于任何事情,因此返回值是什么并不重要,并且不需要 return 语句。在另一种情况下,返回值可能很重要,例如一个生成 0 到 10 之间的整数随机数的函数:function getRandomInteger(){&nbsp; return Math.floor(Math.random() * 11);}function showRandomNumber() {&nbsp; document.getElementById('s0').textContent = getRandomInteger();}<button onclick="showRandomNumber()">Show random number</button><span id="s0"></span>上面的getRandomInteger函数需要返回一个特定的值,所以使用了return语句。该showRandomNumber功能只是显示随机数,所以它并不需要一个return语句作为调用者(按钮上的监听器)不关心的返回值是什么。

慕斯709654

您的情况 a 的技巧是函数的范围。在这两种情况下,变量 sum 都是在全局范围内定义的。当您调用该函数时,它会经历以下步骤:查看当前步骤中是否定义了 var sum 既然它没有在函数内部定义,那么走一步看一下外部作用域。是的,这里定义了,开始使用吧。进行计算。您正在使用增量运算符,sum += 5因此实际上它可以写为sum = sum + 5.&nbsp;如果您查看第二种情况,您会注意到变量现在增加了值。而且由于该变量是从全局范围中获取的,因此您的函数只会对其进行变异。&nbsp;注意:此时无论您是否从函数中返回某些内容。你的函数只是改变了外部变量。最后一步——退出函数。正如我之前所说,只有当您想直接使用函数调用的结果时,返回值才重要,例如:var result = myFunction()

aluckdog

这是您的示例发生的情况:var sum = 5; //Sets the sum to =5function myFunction() {&nbsp; &nbsp; return sum += 5; // += reassigns the global (sum) to 10}myFunction();console.log(sum);&nbsp;一个更好的例子是这样的:&nbsp;sum = 5;&nbsp;function myFunction() {&nbsp; &nbsp; &nbsp;var sumOther = sum + 5;&nbsp; &nbsp; &nbsp;return sumOther;}&nbsp;console.log(“sum:” + sum); // 5console.log(“myFunction:” + myFunction()); // 10这就是你如何获得函数的运行而不是全局变量“sum”
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript