O loop só será interrompido se você retornar literalmente false
. Ex:
// this is how jquery calls your function
// notice hard comparison (===) against false
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
Isso significa que você pode retornar qualquer outra coisa, inclusive undefined
, que é o que você devolve se não devolver nada; portanto, você pode simplesmente usar uma declaração de retorno vazia:
$.each(collection, function (index, item) {
if (!someTestCondition)
return; // go to next iteration
// otherwise do something
});
É possível que isso possa variar de acordo com a versão; isso é aplicável ao jquery 1.12.4. Mas, realmente, quando você sai da parte inferior da função, você também não está retornando nada, e é por isso que o loop continua, então eu esperaria que não houvesse nenhuma possibilidade de que retornar nada não pudesse continuar o loop. A menos que desejem forçar todo mundo a começar a devolver algo para manter o ciclo funcionando, nada deve ser uma maneira de mantê-lo funcionando.