繁体   English   中英

Javascript:函数前后的返回语句

[英]Javascript: return statement before and after function

我正在处理下面的代码,如果数组中的每个值都是正数,它就会返回true 我让它工作了,但我很想澄清为什么需要两个 return 语句。 两个回报与第一个回报的机制是什么?

 function checkPositive(arr) { // Only change code below this line return arr.every(function(X){ return X > 0; }) // Only change code above this line } checkPositive([1, 2, 3, -4, 5]); console.log(checkPositive([1, 2, 3, -4, 5])); //false

return arr.every(function(X){
  return X > 0;
})

every()方法测试数组中的所有元素是否通过提供的函数实现的测试。 它返回一个布尔值。

所以return X > 0; 是测试用例 return: 函数 return 内every() 基于该返回值(该返回值对于每个元素都存在),当所有内部函数返回true时, every()函数返回true

并返回false即使一个内部函数返回false

所以存在两个回报。

希望你做得很好。 我会尽量简单地解释一下。

every是一个方便的数组方法,您可以使用它来检查数组中的所有元素是否都通过了某个条件。 它返回一个布尔值( truefalse )。

因此, every将回调作为参数,并为数组中的每个元素调用该回调。 它会检查您作为参数传入的回调中的return语句。 如果回调中的return语句为数组中的每个元素返回true或 true 值,则every返回true 否则返回false

你正在做的是,你正在返回(第一return语句)的调用every从里面checkPositive功能。 因此, every被调用并检查回调是否为数组中的每个元素返回了一个真值(第二个return语句)。 然后它向您的第一个return语句返回truefalse 它从函数中返回它。

希望这是有道理的。

(如果您没有明确返回某些内容,JavaScript 函数将返回undefined 。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM