Цикл прерывается, только если вы вернетесь буквально false
. Пример:
// this is how jquery calls your function
// notice hard comparison (===) against false
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
Это означает, что вы можете вернуть что-нибудь еще, включая то undefined
, что вы возвращаете, если ничего не возвращаете, так что вы можете просто использовать пустой оператор return:
$.each(collection, function (index, item) {
if (!someTestCondition)
return; // go to next iteration
// otherwise do something
});
Возможно, это может варьироваться в зависимости от версии; это применимо для jquery 1.12.4. Но на самом деле, когда вы выходите из нижней части функции, вы также ничего не возвращаете, и поэтому цикл продолжается, поэтому я ожидаю, что нет никакой возможности, что возврат ничего не мог бы продолжить цикл. Если они не хотят заставить всех начать возвращать что-то, чтобы поддерживать цикл, возврат ничего не должен быть способом, чтобы продолжать это.