Supponiamo che io sono un ciclo come questo:Il ritorno interrompe un ciclo?
for (var i = 0; i < SomeArrayOfObject.length; i++) {
if (SomeArray[i].SomeValue === SomeCondition) {
var SomeVar = SomeArray[i].SomeProperty;
return SomeVar;
}
}
Domanda veloce: fa il return
fermare l'esecuzione del ciclo in sé e per sé?
> return esce sempre immediatamente dalla sua funzione, senza ulteriori esecuzioni se si trova all'interno di un loop [... a meno che non si tratti di un ciclo forEach] (http: // stackoverflow.it/questions/34653612/what-does-return-keyword-mean-inside-foreach-function/34653650) –
@ o-o Una sorta di vero. 'return' restituisce ancora dall'iterazione corrente della funzione callback, nel proprio ambito, ma non ci si aspetta che si interrompa dall'intero metodo di chiamata' forEach() '. Quindi non ritorna dallo _loop stesso_, ma sta ritornando dal callback che il ciclo esegue. Nell'esempio di codice della domanda collegata, l'output è '1,2,4,5' saltando' 3' a causa del ritorno. –
Forse il thread rosso è che 'return' tornerà sempre dal contesto corrente' this'. –