Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.08.2016, 11:10
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Условия в функции
Я так понимаю, если хоть одно условие сработает, то функция будет возвращать false, а как игнорируется return true, если оно не в условие?

Ведь обычно функция должна возвращать, то, что указано в return последним

var taxi = {
			make: 'Webville Motors',
			model: 'Taxi',
			year: 1955,
			mileage: 281341
		}

		function prequal(car){
			if(car.mileage > 10000){
				return false
			}
			else if(car.year > 1960){
				return false
			}

			return true;
		}

		var worthAlook = prequal(taxi)

		if(worthAlook){
			console.log('You gotta check out this ' + taxi.make + " " + taxi.model)
		}

		else{
			console.log('You should really pass on the ' + taxi.make + " " + taxi.model)
		}
Ответить с цитированием
  #2 (permalink)  
Старый 30.08.2016, 11:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от DivMan
Ведь обычно функция должна возвращать, то, что указано в return последним
У тебя не верные сведения о работе функций.
Ответить с цитированием
  #3 (permalink)  
Старый 30.08.2016, 11:46
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Почему?
Ответить с цитированием
  #4 (permalink)  
Старый 30.08.2016, 12:34
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

DivMan,
Какой return первым подвернется по условиям, такой и закончит работу функции и вернет значение.
Ответить с цитированием
  #5 (permalink)  
Старый 30.08.2016, 13:40
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от DivMan
Почему?
Это уже у тебя спросить стоит.
Почему ты вдруг решил, что "последний" return главный?
Ответить с цитированием
  #6 (permalink)  
Старый 30.08.2016, 13:44
Кандидат Javascript-наук
Отправить личное сообщение для Strongman Посмотреть профиль Найти все сообщения от Strongman
 
Регистрация: 22.03.2016
Сообщений: 132

Какой return сработает, такой и выйдет из функции.
Ответить с цитированием
  #7 (permalink)  
Старый 30.08.2016, 13:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

DivMan, или ты путаешь свой пример с таким примером

function test(){
	return 0,1,2,3,4,5;
};
alert(test());

Тут действительно
Сообщение от DivMan
функция должна возвращать, то, что указано в return последним
А последним там указано 5.

Но это опять не "заслуга" return... А оператора "запятая".
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение прототипа функции tsigel Общие вопросы Javascript 11 15.05.2014 01:03
Условия в функции или разделитель? tai Общие вопросы Javascript 2 13.02.2014 16:16
Добавление функции внутрь другой функции Lion_astana jQuery 9 28.12.2013 14:33
Установить имя конструктора Андрей Параничев Общие вопросы Javascript 8 17.11.2011 10:09
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21