В функциях JavaScript мне нужно что-то возвращать (истина или ложь)? До сих пор все функции, которые я написал, ничего не возвращая, работали нормально. Мне просто любопытно.
Должен ли я что-то возвращать в функции javascript?
Ответы (3)
Нет; Функции Javascript не обязаны возвращать значение.
Если вы вызываете функцию, которая не return
имеет значение, вы получите undefined
в качестве возвращаемого значения.
person
SLaks
schedule
03.06.2011
То же самое касается функций, в которых есть
return;
.
- person Alxandr; 03.06.2011
И функции, которые могут выйти без выполнения одного из своих возвратов.
- person Jeremy; 03.06.2011
Я думаю, возможно, если вы вызываете функцию, а
return
не выполняется... или... если управление выходит за пределы функции, не встречая return
или...
- person ; 03.06.2011
нет, ты не знаешь. Я верю, если ты сделаешь
var result = iAmADefinedFunctionThatDoesntReturnAnything();
результат будет неопределенным.
Отредактируйте, этот снимок экрана должен быть ярким (простите за ошибку, когда я не могу вызвать f):
person
hvgotcodes
schedule
03.06.2011
На самом деле, поскольку вы не определили функцию, она выдает ReferenceError.
- person Hello71; 03.06.2011
@привет71. Посмотрите наверх. Строка 1. var f = function(){} определенно определяет функцию
- person hvgotcodes; 03.06.2011
Кроме того, вы действительно должны использовать typeof для определения undefined.
- person Hello71; 03.06.2011
@ hello71, верно, я надеялся, что мы интуитивно поймем, что functionThatDoesntReturnAnything() на самом деле является определенной функцией, которая ничего не возвращает. ;)
- person hvgotcodes; 03.06.2011
@ hello71, хорошо, как насчет сейчас? ;)
- person hvgotcodes; 03.06.2011
Нет, ты не
НО если вы обнаружите, что делаете что-то подобное
function myFun(){
if (1 == 2){
return true ;
}
}
Теперь вы должны знать, что делаете что-то не так в своем коде, потому что бессмысленно, чтобы только часть функции возвращала значение.
person
Mina Gabriel
schedule
22.10.2013
Почему не будет смысла? Например, если вы хотите заполнить список поисковым запросом, но он не найден, вы можете ничего не возвращать.
- person Alexander; 20.02.2018
Потому что условие if всегда оценивается как нулевое, что мы называем мертвым кодом.
- person Mina Gabriel; 21.02.2018
undefined
;-) Но я думаю, что вопрос как бы ответил сам на себя. - person   schedule 03.06.2011