返回语句在 JavaScript 中是如何工作的? [复制]

Posted

技术标签:

【中文标题】返回语句在 JavaScript 中是如何工作的? [复制]【英文标题】:How does the return statement work in JavaScript? [duplicate] 【发布时间】:2021-04-10 23:52:44 【问题描述】:

所以,我是 javascript 的初学者,我只是通过创建一些函数来玩玩! 为什么如果返回有不同的答案,为什么如果控制台记录有不同的答案!

所以如果我控制台记录这个????

const ex = (arra1) => 
  for (let i = 0; i < arra1.length; i++) 
    console.log(arra1[i]);
  
;
ex([1, 2, 3]);

上述函数的答案是1 2 3

但是如果返回这个????

const ex = (arra1) => 
  for (let i = 0; i < arra1.length; i++) 
    return arra1[i];
  
;
console.log(ex([1, 2, 3]));

但是上面这个函数的答案是1

【问题讨论】:

return 立即终止函数执行,因此您只能从循环中获得一次迭代。 return 将终止函数执行,因此它也终止循环 在 MDN 上总是有很好的阅读:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 【参考方案1】:

return 将立即停止执行。根据MDN,

在函数体中使用 return 语句时,函数的执行将停止。如果指定,则将给定值返回给函数调用者。

【讨论】:

【参考方案2】:

在第一个示例中,您没有返回任何内容,只是记录了数组的每个值。

console.log(arra1[i]);

在第二个示例中,您只是在循环中使用 return,因此在第一次迭代中,函数将返回一个值,该值是数组的第一个元素。 return 语句只是结束函数的进一步执行。

【讨论】:

【参考方案3】:

return 终止函数和循环,在第一次迭代后停止

在第一个示例中,您不会终止任何内容,因此您最终会遍历所有内容

【讨论】:

以上是关于返回语句在 JavaScript 中是如何工作的? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

typeof 方法在 JavaScript 中是如何工作的? [复制]

new 运算符在 JavaScript 中是如何工作的?

符号:隐式字符串转换在 JavaScript 中是如何工作的?

函数返回 None 没有返回语句

这些函数返回值在 Dart 中是如何工作的?

javascript生成器