Цикл только прерывается, если вы возвращаетесь буквально 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. Но на самом деле, когда вы выходите из нижней части функции, вы также ничего не возвращаете, и поэтому цикл продолжается, поэтому я ожидаю, что нет никакой возможности, что возврат ничего не мог бы не продолжить цикл , Если они не хотят заставить всех начать что-то возвращать, чтобы поддерживать цикл, то ничего не возвращая имеет , способ поддерживать это.