Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Николай108
2 / 2 / 0
Регистрация: 30.06.2015
Сообщений: 87
1

Объясните один момент в функции

23.07.2015, 17:19. Просмотров 808. Ответов 4
Метки нет (Все метки)

Только начинаю изучать JS и не могу понять зачем в данном уравнении функция возвращает -1. Что это даёт и просьба не бросаться тапками.

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function findCarInLot(car) {
    for (var i = 0; i < lot.length; i++) {
        if (car === lot[i]) {
        return i;
        }
    }
    return -1;
}
 
var chevy = {
    make: "Chevy",
    model: "Bel Air"
};
var taxi = {
    make: "Webville Motors",
    model: "Taxi"
};
var fiat1 = {
    make: "Fiat",
    model: "500"
};
var fiat2 = {
    make: "Fiat",
    model: "500"
};
 
var lot = [chevy, taxi, fiat1, fiat2];
 
var loc1 = findCarInLot(fiat2);
var loc2 = findCarInLot(taxi);
var loc3 = findCarInLot(chevy);
var loc4 = findCarInLot(fiat1);
 
document.write(loc1, loc2, loc3, loc4);

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2015, 17:19
Ответы с готовыми решениями:

Проясните один момент с оператором !==
Есть такой вот код: var view = { displayMessage: function(msg) { var...

Можно ли узнать момент запуска функции?
Здравствуйте. Есть какая то функция qwe(). Можно ли программным путем узнать...

Объясните значение функции
Вот функция, помогите нубу, что этот код делает? function func(ee, ww, qq){...

Срабатывают две функции при клике (один div сверху другого)
var qwer = 0 $(click_pod_menu).click(function(e){ qwer = (qwer ==0) ? 1 : 0;...

Правильная запись возврата функции или почему один метод работает, а второй нет?
Всем добрый вечере. Появилась такая проблемка, почему такая функция не...

4
Jetlag
110 / 48 / 20
Регистрация: 21.10.2013
Сообщений: 212
23.07.2015, 17:39 2
Лучший ответ Сообщение было отмечено Николай108 как решение

Решение

Николай108, это просто способ сказать "мы ничего не нашли". Стандартные функции поиска в js обычно возвращают -1 если ничего не находят (indexOf, search для регулярок например) это некоторая распространенная в языке конвенция. При желании можно если ничего не нашли вернуть false, какой-нибудь объект ошибки или строчку со своим домашним адресом. Просто обычно такие функции возвращают неотрицательное целое число (номер позиции в строке/массиве), поэтому если в случае "ничего не нашли" мы будем возвращать тоже целое число, то работать с нашей функцией можно будет более единообразно.
0
Николай108
2 / 2 / 0
Регистрация: 30.06.2015
Сообщений: 87
23.07.2015, 17:51  [ТС] 3
Хорошо, а почему тогда функция findCarInLot возвращает значение цикла for, а не этот -1. Ведь по идее return -1 находится дальше, а, следовательно, должен быть приоритетней или как это работает?
0
Jetlag
110 / 48 / 20
Регистрация: 21.10.2013
Сообщений: 212
23.07.2015, 18:20 4
Николай108, это работает последовательно. Если мы из функции уже вышли, то до return -1; мы просто не дойдем, так как тело этой функции исполняться с момента как мы из нее вышли, не будет.
Можете убедиться сами:
Javascript
1
2
3
4
5
6
7
function test(){
    return 1;
    return 2;
    return 3;
};
 
alert(test());
1
Николай108
2 / 2 / 0
Регистрация: 30.06.2015
Сообщений: 87
23.07.2015, 18:36  [ТС] 5
Спасибо, теперь всё полностью понятно!
0
23.07.2015, 18:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2015, 18:36

Исключения, объясните один момент
Всем привет, подскажите в строчках в маин 28 и 35 ссылке присваивается объект ?...

Объясните один момент, касающийся переменных
Объясните пожалуйста, что такое &amp;optional. Я так понял, это касается...

Объясните один момент в программе, ничего решать не надо
Public Class Form1 Dim A(), B(), C() As Single Private Sub...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru