![](/img/trans.png)
[英]Why does JavaScript allow function declarations after the return statement?
[英]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
是一个方便的数组方法,您可以使用它来检查数组中的所有元素是否都通过了某个条件。 它返回一个布尔值( true
或false
)。
因此, every
将回调作为参数,并为数组中的每个元素调用该回调。 它会检查您作为参数传入的回调中的return
语句。 如果回调中的return
语句为数组中的每个元素返回true
或 true 值,则every
返回true
。 否则返回false
。
你正在做的是,你正在返回(第一return
语句)的调用every
从里面checkPositive
功能。 因此, every
被调用并检查回调是否为数组中的每个元素返回了一个真值(第二个return
语句)。 然后它向您的第一个return
语句返回true
或false
。 它从函数中返回它。
希望这是有道理的。
(如果您没有明确返回某些内容,JavaScript 函数将返回undefined
。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.