2015-04-25 3 views
2

Может ли кто-нибудь объяснить, почему в функции используется оператор return javascript? когда и почему мы должны его использовать?Я не понимаю возврата функции в javascript

Пожалуйста, помогите мне.

+1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statesments/return – epascarello

+1

Возможный дубликат [Как использовать возврат в javascript] (http://stackoverflow.com/ Вопросы/4379359/how-can-i-use-return-in-javascript) – Adi

ответ

7

Почему он используется в функции?

1. Для возврата результатов функции

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

function sum(num1, num2) { 
    var result = number1 + number2 

    return result 
} 

var result = sum(5, 6) // result now holds value '11' 

2. Остановить выполнение функции

Другая причина, по которой return используется потому, что он также перерывы исполнением функции - это значит, что если вы попали return, функция останавливается работает под управлением любой код, который следует за ним.

function sum(num1, num2) { 
    // if any of the 2 required arguments is missing, stop 
    if (!num1 || !num1) { 
    return false 
    } 

    // and do not continue the following 

    return number1 + number2 
} 

var result = sum(5) // sum() returned false because not all arguments were provided 

Почему мы должны использовать его?

Потому что это позволяет повторно использовать код

Представьте, что вы пишете приложение, которое делает геометрические вычисления - по пути вам может понадобиться вычислить ... например расстояние между 2 точками - которые является общим расчетом.

  • ли вы написать формулу снова каждый раз, когда вам это нужно?
  • Что делать, если ваша формула была неправильной? Вы бы посетили все места в коде, где была написана формула для внесения изменений?

Нет - вместо этого вы должны были бы обернуть его в функцию и вернуть его обратно - так что вы пишете формулу один раз и будете повторно использовать ее везде, где хотите.

function getLineDistance(x1, y1, x2, y2) { 
    return Math.sqrt((Math.pow((x2 - x1), 2)) + (Math.pow((y2 - y1), 2))) 
} 

var lineDistance1 = getLineDistance(5, 5, 10, 20); 
var lineDistance2 = getLineDistance(3, 5, 12, 24); 
1

используется оператор возврата по двум причинам:

  1. Для возврата конкретного значения из функции.

  2. Чтобы завершить выполнение функции до последней строки кода в функции.

Без return value; заявления, функция не возвращает определенное значение (технически возвращаемое значение undefined).

Без конкретного выражения возврата где-то в функции функция работает до последней строки кода в функции.

Примеры:

function add(x, y) { 
    // return a sum of the two arguments 
    return x + y; 
} 

console.log(add(1, 3)); // 4 


function findParm(str, key) { 
    if (!str || !key) { 
     // invalid parameters, so return null 
     return null; 
    } 
    var pieces = str.split("&"); 
    for (var i = 0; i < pieces.length; i++) { 
     var loc = str.indexOf(pieces[i] + "="); 
     if (loc >= 0) { 
      // when we've found a match, return it and finish execution of the function 
      return str.slice(loc + key.length + 1); 
     } 
    } 
    // no match found, return null 
    return null; 
} 

var str = "user=John&login=yes" 
findParam(str, "login");   // "yes" 
+0

Я бы не хотел быть педантичным, но если он еще не понимает «возвращение», я сомневаюсь, что он поймет, что 'findParm() 'func делает –

+0

@NicholasKyriakides - возможно, но вы должны показать некоторый код, чтобы проиллюстрировать различные применения' return'. Я просто попытался написать код, который сделал что-то реальное. – jfriend00

1

он используется для возврата значения из функции.

Предположим, вы хотите, чтобы функция выполняла некоторые вычисления ... для простого примера, например, вычислить левую позицию div в окне браузера.

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

Смежные вопросы