Supongamos que tengo un bucle como este:¿El retorno detiene un ciclo?
for (var i = 0; i < SomeArrayOfObject.length; i++) {
if (SomeArray[i].SomeValue === SomeCondition) {
var SomeVar = SomeArray[i].SomeProperty;
return SomeVar;
}
}
Una pregunta rápida: ¿El return
detener la ejecución del bucle en sí mismo?
> return siempre sale de su función de inmediato, sin ejecución adicional si está dentro de un bucle [... a menos que sea para cada bucle] (http: // stackoverflow.com/questions/34653612/what-does-return-keyword-mean-inside-foreach-function/34653650) –
@ o-o Más o menos cierto. 'return' aún regresa de la iteración actual de la función de devolución de llamada, en su propio ámbito, pero no se espera que se rompa desde el método de llamada completo' forEach() '. Por lo tanto, no regresa desde _loop itself_, pero está volviendo de la devolución de llamada que ejecuta el ciclo. En el ejemplo de código de la pregunta vinculada, la salida es '1,2,4,5 'omitiendo el' 3' debido a la devolución. –
Tal vez el hilo rojo es que 'return' volverá siempre del actual contexto 'this'. –