Я пытаюсь перебрать массив элементов. Документация jQuery гласит:
Возврат non-false - это то же самое, что и оператор continue в цикле for, он будет сразу пропущен до следующей итерации.
Я пытался позвонить «вернуть не ложь»; и «не ложь»; (без возврата), ни один из которых не пропускается к следующей итерации. Вместо этого они разрывают петлю. Что мне не хватает?
javascript
jquery
iteration
мистифицировать
источник
источник
Ответы:
Что они подразумевают под не ложным:
Итак, этот код:
зарегистрирует
one
,two
,four
,five
.источник
Под «возвратом не ложного» они подразумевают возвращение любого значения, которое не сработает, до логического значения «ложь». Таким образом , вы могли бы вернуться
true
,1
,'non-false'
, или то , что вы можете придумать.источник
В Javascript есть идея «правдивости» и «ложности». Если переменная имеет значение, то, как правило, 9, как вы увидите), она имеет «истинность» - ноль, или никакое значение не стремится к «ложности». Следующие фрагменты могут помочь:
Надеюсь, это поможет?
Кроме того, стоит проверить эти видео от Дугласа Крокфорда
обновление: спасибо @cphpython за обнаружение неработающих ссылок - я обновился, чтобы указать на рабочие версии сейчас
Язык Javascript
Javascript - хорошие части
источник
0
это также ложное значение, и отрицание его является правдивым (и наоборот, к любому другому числу, например!-42 === false
).Не забывайте, что иногда вы можете просто упасть с конца блока, чтобы перейти к следующей итерации:
Вместо того, чтобы возвращаться так:
источник
Цикл прерывается, только если вы вернетесь буквально
false
. Пример:Это означает, что вы можете вернуть что-нибудь еще, включая то
undefined
, что вы возвращаете, если ничего не возвращаете, так что вы можете просто использовать пустой оператор return:Возможно, это может варьироваться в зависимости от версии; это применимо для jquery 1.12.4. Но на самом деле, когда вы выходите из нижней части функции, вы также ничего не возвращаете, и поэтому цикл продолжается, поэтому я ожидаю, что нет никакой возможности, что возврат ничего не мог бы продолжить цикл. Если они не хотят заставить всех начать возвращать что-то, чтобы поддерживать цикл, возврат ничего не должен быть способом, чтобы продолжать это.
источник
jQuery.noop () может помочь
источник