JavaScript: что я должен вернуть, чтобы отметить эту функцию как неправильный ввод?

Если пользователь вводит 1 в этом примере, я хочу, чтобы функция остановилась, поэтому должен ли я возвращать правда, или НОЛЬ, или 1, или 0 ... или это действительно важно?

function foo() {
    // incorrect input
    if (bar === 1) {
        return true;
    }
    // correct input
    else {
        arr.push(bar);
    }
}

Я знаю, что в C для программ с правильным вводом возвращается 0, но для программ с неправильным вводом они возвращают 1, 2, 3 ....
Не уверен, что это за протокол для JavaScript.

Зависит от того, как вызывается foo и что он обычно возвращает при правильном вводе. Обычный return может работать

CertainPerformance 09.06.2018 04:17

Итак, оператор return не имеет значения, для отказ в этом случае?

00Saad 09.06.2018 04:21

Как вы используете эту функцию?

Cory Kleiser 09.06.2018 04:21

Нет, на самом деле, если вы не хотите вернуть его другой функции и сделать что-то для сбоя

Cory Kleiser 09.06.2018 04:22

Возвращайте то, что имеет значение для вас и программы, это ваша функция, вы решаете, что означают возвращаемые вещи

Patrick Evans 09.06.2018 04:22

Если функция не дает сбоя, оператор else передает входные данные в массив ... позвольте мне обновить мой код, чтобы отразить это.

00Saad 09.06.2018 04:24

Если параметры вашей функции не правильного типа, вы можете выбросить TypeError

Derek 09.06.2018 04:30
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
7
56
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Это зависит от контекста этой функции. Вы используете возвращаемое значение где-нибудь еще? Если нет, вы можете просто использовать return, чтобы остановить выполнение функции:

if (bar === 1) {
    return;
}

И если вы используете возвращаемое значение где-то еще и хотите действовать в случае сбоя, вы можете просто вернуть false или что-то еще, а затем проверить, существует ли это значение.

В обновленном контексте вы можете просто использовать следующий код, и он отправит в массив, если true, и ничего не сделает, если false

if (bar !== 1) {
    arr.push(bar);
}

Нет, больше нигде не используется, просто сбой

00Saad 09.06.2018 04:24

В этом случае вы можете просто использовать return

Cory Kleiser 09.06.2018 04:27

Изначально я просто хотел вернуть НОЛЬ, но увидел сообщение в StackOverflow, в котором говорилось, что NULL следует возвращать только в очень определенных обстоятельствах. В конце концов, не имеет значения, что он вернул, поскольку оператор return не работает, но я бы предпочел все делать правильно.

00Saad 09.06.2018 04:28

Мне нравится то, что вы сделали, а это значит, что мне нужно писать меньше кода. Я добавлю это в свою программу, если смогу.

00Saad 09.06.2018 04:29

@ 00Saad И IMO return null, если хотите. В какой-то конкретной ситуации это может быть плохой идеей, но если вам нужно в вашей ситуации, это то, что вам нужно сделать.

Cory Kleiser 09.06.2018 04:31

@ 00Saad Рад, что смог помочь. Удачного кодирования :)

Cory Kleiser 09.06.2018 04:31

В конце концов, я могу вернуть весь текст «Войны и мира», и программа будет работать, но я бы предпочел делать все правильно, пока я еще на дошкольном уровне JS, вместо того, чтобы усердно учиться, когда У меня за плечами реальный опыт.

00Saad 09.06.2018 04:35

Вы можете либо просто вернуться, либо, если он вложен в цикл, и вы хотите перейти к следующему элементу, вы также можете использовать «продолжить»; так что это не прерывает ваш цикл

Другие вопросы по теме