Sé que es una pregunta bastante antigua, pero no vi ninguna respuesta, lo que aclara por qué y cuándo es posible romper con el retorno.
Me gustaría explicarlo con 2 ejemplos simples:
1. Ejemplo:
en este caso, tenemos una iteración simple y queremos romper con return true, si podemos encontrar los tres.
function canFindThree() {
for(var i = 0; i < 5; i++) {
if(i === 3) {
return true;
}
}
}
Si llamamos a esta función, simplemente devolverá el verdadero.
2. Ejemplo
En este caso, queremos iterar con cada función de jquery , que toma la función anónima como parámetro.
function canFindThree() {
var result = false;
$.each([1, 2, 3, 4, 5], function(key, value) {
if(value === 3) {
result = true;
return false; //This will only exit the anonymous function and stop the iteration immediatelly.
}
});
return result; //This will exit the function with return true;
}