Когда и почему return false
в JavaScript?
Когда и зачем "возвращать false" в JavaScript?
Ответ 1
Часто в обработчиках событий, таких как onsubmit
, возврат false - это способ сообщить, что событие не срабатывает. Так, скажем, в случае onsubmit
это означало бы, что форма не отправлена.
Ответ 2
Я предполагаю, что вы имеете в виду тот факт, что вам часто приходится указывать "return false"; в обработчиках событий, т.е.
<a href="#" onclick="doSomeFunction(); return false;">...
"return false"; в этом случае браузер не перескакивает в текущее местоположение, как указано href= "#" - вместо этого выполняется только doSomeFunction(). Это полезно, когда вы хотите добавлять события для привязки тегов, но не хотите, чтобы браузер каждый раз прыгал вверх и вниз на каждый якорь
Ответ 3
Используется для остановки распространения события. Вы видите, когда у вас есть два элемента как с обработчиком события клика (например)
-----------------------------------
| element1 |
| ------------------------- |
| |element2 | |
| ------------------------- |
| |
-----------------------------------
Если вы нажмете на внутренний элемент (element2), он вызовет событие click в обоих элементах: 1 и 2. Он называется "Событие пузыря". Если вы хотите обрабатывать событие только в элементе2, тогда обработчик события должен вернуть false, чтобы остановить распространение события.
Другим примером будет ссылка onclick handler. Если вы хотите остановить работу ссылки. Вы можете добавить обработчик onclick и вернуть false. Чтобы остановить событие от распространения до обработчика по умолчанию.
Ответ 4
Er... как в булевой функции указать 'not true'?
Ответ 5
Я также пришел на эту страницу после поиска "js, когда использовать" return false "; Среди других результатов поиска была страница, которую я нашел гораздо более полезной и простой, на сайте Chris Coyier CSS-Tricks: Разница между 'return false и' e.preventDefault();
Суть его статьи:
function() {return false; }
//Эквивалентно
function (e) {e.preventDefault(); e.stopPropagation(); }
хотя я бы по-прежнему рекомендовал прочитать всю статью.
Обновление:. После утверждения аргументов использования return false; в качестве замены для e.preventDefault(); и e.stopPropagation(); один из моих сотрудников указал, что return false также прекращает выполнение обратного вызова, как описано в этой статье: jQuery События: Stop (Mis) Использование Return False.
Ответ 6
При использовании функции jQuery each
значение true или false имеет смысл. См. doc
Ответ 7
Я думаю, что лучший вопрос: почему в случае, когда вы оцениваете логический набор возвращаемых значений, не могли бы вы использовать true/ false? Я имею в виду, что вы, вероятно, могли бы иметь true/null, true/-1, other misc. Javascript "фальшивые" значения для замены, но зачем вы это делаете?
Ответ 8
Если вы хотите вызывать код javascript из тега привязки, следует использовать обработчик onclick, а не псевдопротокол javascript: Код javascript, который выполняется внутри обработчика onclick, должен возвращать true или false (или выражение, чем evalues to true или false) обратно к самому тегу - если он возвращает true, тогда HREF привязки будет следовать как обычная ссылка. Если он возвращает false, тогда HREF будет проигнорирован. Вот почему "вернуть ложь"; часто включается в конец кода внутри обработчика onclick.
Ответ 9
Вы используете return false, чтобы что-то не происходило. Поэтому, если у вас есть script, выполняемый при отправке, то возврат false будет препятствовать работе отправки.
Ответ 10
Когда в функции вызывается оператор return, выполнение этой функции останавливается. Если указано, данное значение возвращается вызывающему функции. Если выражение опущено, вместо него возвращается undefined.
Для получения более подробной информации о странице документов MDN для return
.
Ответ 11
Простой ответ: если вы хотите остановить процесс вашей функции, вы используете это.
Пример:
function foo(a){
if(a == 'No'){
alert('Okay');
return false;
};
// your syntax
}
Это просто: если var "a" - "Нет", то "О'кей" и остановите свою функцию.