Eu sei que é uma pergunta bastante antiga, mas não vi nenhuma resposta, que esclareça isso porque e quando é possível romper com o retorno.
Eu gostaria de explicar com 2 exemplos simples:
1. Exemplo:
neste caso, temos uma iteração simples e queremos quebrar com return true, se pudermos encontrar os três.
function canFindThree() {
for(var i = 0; i < 5; i++) {
if(i === 3) {
return true;
}
}
}
se chamarmos essa função, ela simplesmente retornará o valor verdadeiro.
2. Exemplo
Neste caso, queremos iterar com cada função do jquery , que assume a função 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;
}