У меня есть функция:
function myfunction() {
if (a == 'stop') // How can I stop the function here?
}
Есть ли что-то вроде exit()
в JavaScript?
javascript
Саймон
источник
источник
for
цикла. Даже тогда я понятия не имею, почему предложенный метод будет использоваться, когда вы можете просто позвонитьbreak;
. Чтобы использовать пример из статьи:if(i==5) break;
Использованиеreturn
остановит выполнение функции, независимо от того, находитесь ли вы вfor
цикле.return
остановит выполнение функции, которая, кажется, то, что вы просили.Ответы:
Вы можете просто использовать
return
.Это отправит возвращаемое значение
undefined
тому, что вызвало функцию.Конечно, вы можете указать другое возвращаемое значение. Независимо от того, какое значение будет возвращено, оно будет зарегистрировано в консоли, используя приведенный выше пример.
источник
undefined
то, что предоставляет мое основное решение. В статье, на которую вы ссылались, говорится о том, как делатьreturn false
это в обработчике событий jQuery. Это совершенно другая проблема. Это правильный способ выхода из функции JavaScript. Очевидно, что если вызывающая сторона полагается на возвращаемое значение, значение должно быть определено соответствующим образом.if(a != 'stop') { /* run my code */ }
таким, что код будет выполняться только тогда, когдаa
он не равен,'stop'
без предоставления явногоreturn
. Но возвращаемое значение идентично моему решению . В обоих случаяхundefined
будут возвращены.undefined
(или не получит какое-то другое значение) в качестве возвращаемого значения, тогда вам нужно будет соответствовать спецификации этого API и вернуть правильное значение. Как правило, для системы обработки событий это будетundefined
простой индикатор того, что обработчик завершен, и дальнейших инструкций нет. С jQuery,return false;
имеет особое значение, давая инструкции, чтобы сделатьpreventDefault
иstopPropagation
.Видимо, вы можете сделать это:
См. Блочные области с помощью использования метки: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label
Я пока не вижу никаких минусов. Но это не похоже на общее использование.
Получил этот ответ: JavaScript эквивалент PHP-кубика
источник
return false;
гораздо лучше, чем простоreturn;
источник
false
лучше? Я бы сказал, что по умолчаниюundefined
лучше в общем случае. В любом случае, вы правы, говоря, что часто лучше возвращать значимое значение.false
больше, чемundefined
.Эта:
источник
Используя немного другой подход, вы можете использовать
try catch
с оператором throw.источник
если вы ищете скрипт, чтобы избежать отправки формы при обнаружении некоторых ошибок, этот метод должен работать
изменить тип кнопки « Отправить » на «кнопку»
надеюсь, это поможет.
источник
Использование a
return
остановит функцию и возвратundefined
или значение, указанное с помощью команды возврата.источник
Мне не нравится отвечать на вопросы, которые не являются реальным решением ...
... но когда я столкнулся с этой же проблемой, я сделал обходной путь ниже:
Надеюсь, что это может быть полезно для всех.
источник
Я думаю, что сгенерировать новую ошибку - это хороший способ остановить выполнение, а не просто возвращать или возвращать false. Например Я проверяю количество файлов, которые разрешают загружать максимум пять файлов в отдельной функции.
Но я вызываю эту функцию из основной функции потока как
В приведенном выше примере я не могу остановить выполнение, если я не сгенерирую новый Error.Just return или return false работает, только если вы находитесь в основной функции выполнения, иначе это не работает.
источник
Выход(); можно использовать для перехода к следующей проверке.
источник
Если вы используете JQuery. Это должно остановить пузырек функции до, так что родительская функция, вызывающая это, должна также остановиться.
источник
stopImmediatePropagation()
это не jQuery, и прекращение распространения - это не то же самое, что выход из функции.введите любую случайную команду, которая выдает ошибку, например:
или
источник