Bazaprogram.ru

Новости из мира ПК
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Javascript return function

Форум

Справочник

Поиск по форуму
Расширенный поиск
К странице.

Илья Кантор, 20 мая 2009 — 16:54

return

Возвратить результат работы функции

Синтаксис

Аргументы

Описание, примеры

См. также

  • function /Синтаксическая конструкция/

почему ф-ция воззвращает текст??

var screens=screen.width;
var sl > var sl > if(sl > return 3;
> else if(slidelength>=5) <
return 5;
>
>
alert(slideAll)

ибо slideAll — функция. попрбуй alert(slideAll())

Автор, выручай(( уже сил нет.. Создал трехмерную матрицу, сделал функции для перемещения по ней. функция должны принимать координаты ячейки в матрице и возвращать ССЫЛКУ на ячейку. Как это можно сделать?
вот тут пример с одномерным массивом. хотя бы на этом примере.

function ww(num) <
return window.q[num]
>

ww(3) = 9999999 // тут ошибка, так как return в функции возвращает не ссылку

Добрый день.
Наткнулась в коде на такие конструкции:

(function(value) <
.
return ;
return true;

>) (value)

При этом перед первым return нет условия.
Разве второй return не будет unreachable code?

Не работает в IE. Плагин установлен, возвращает «ложь».

Можно было бы ещё добавить как вариант [expression]:

var z = function(t) <
var y = 10;
return t();
>;

вернут разные значения

Люди, а кто может поведать чайнику смысл этого return? Ну хорошо, возвращает он результат, а какой в этом смысл?
Заранее при много блпгодарен

Думаю это самый нужный комментарий на сайте.

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

Люди, пожалуйста, объясните чайнику, что это ва-аще за выкрутас такой:
(function () < return 2; >)() ? Я имею в виду именно function () . Про это нигде не написано, или я не смог найти. Ведь функцию вызывают по имени.

Именно function () . это анонимная функция. Всё выражение такого вида называется IIFE. Гугль в помощь.

Когда у вас множество инструкций (много кода) , хорошо было бы сгруппировать их и дать название группам, для чего и служат функции. Теперь к синтаксису.

function /*Вызов функции*/ numbers /* Имя переменной, в вашем случае функция безымянная, но это не ошибка, функции могут быть безымянными */ ( /*Здесь должны быть аргументы (переменные) , например : */ a,b,c /* аргументы не могут использоваться внутри функции */) <
/* Тело программы */
a=0;b=0;c=0;/* чтобы не случалось казусов */
a++;
b++;
c++;
console.log(a+b+c); /*В консоль выведется 3*/
>

/* Функции можно вызывать */

numbers(); /* Я вызвал функцию с именем numbers */
numbers();
numbers(); /* Обратите внимание, что результат будет не 9, а 3 */

/* Если изучаете html , вот ещё инфа */

/*На html странице такой код будет выполняться при загрузке страницы,
можно, например, через атрибут onclick=»numbers()» вызвать функцию при нажатии на элемент */ Вот ссылка на ютубера, отлично обьясняет : https://youtu.be/M3ACkFObsQw?list=PL363QX7S8MfSxcHzvkNEqMYbOyhLeWwem

Аргументы не могут использоваться в не функции* , ошибся

Все это хорошо. Но где здесь return? Собственно вокруг чего и спор.

Инструкция return в JavaScript

Пусть у нас есть функция, которая выводит на экран квадрат переданного числа:

Пусть мы хотим не выводить значение на экран, а записать в какую-нибудь переменную, вот так:

Для этого в JavaScript существует специальная инструкция return, которая позволяет указать значение, которое возвращает функция.

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

Итак, давайте перепишем нашу функцию так, чтобы она не выводила результат на экран, а возвращала его в переменную:

После того, как данные записаны в переменную, их можно, например, вывести на экран:

А можно сначала как-то изменить эти данные, а затем вывести их на экран:

Можно сразу выполнять какие-то действия с результатом работы функции перед записью в переменную:

А можно не записывать результат в переменную, а сразу вывести его на экран:

Сделайте функцию, которая параметром принимает число, а возвращает куб этого числа. С помощью этой функции найдите куб числа 3 и запишите его в переменную result.

Использование функций в выражении

В следующем примере с помощью функции func мы сначала найдем квадрат числа 2, а затем — 3 квадрат числа, сложим эти значения и запишем в переменную:

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

С помощью этой функции найдите корень числа 3, затем найдите корень числа 4. Просуммируйте полученные результаты и выведите их на экран.

Функции в функциях

Можно также результат работы одной функции передать параметром в другую, например, вот так мы сначала найдем квадрат числа 2, а затем квадрат результата:

Функции, конечно же, не обязательно должны быть одинаковыми.

Пусть, например, у нас есть функция, возвращающая квадрат числа, и функция, возвращающая куб числа:

Давайте с помощью этих функций возведем число 2 в квадрат, а затем результат этой операции возведем в куб:

Пусть теперь у нас есть функция, возвращающая квадрат числа, и функция, находящая сумму двух чисел:

Найдем с помощью этих функций сумму квадрата числа 2 и сумму квадрата числа 3:

Пусть у вас есть функция, возвращающая квадратный корень из числа, и функция, округляющая дробь до трех знаков в дробной части:

С помощью этих функций найдите квадратный корень из числа 2 и округлите его до трех знаков в дробной части.

Пусть у вас есть функция, возвращающая квадратный корень из числа, и функция, возвращающая сумму трех чисел:

С помощью этих функций найдите сумму корней чисел 2, 3 и 4 и запишите ее в переменную result.

Пусть у вас есть функция, округляющая дробь до трех знаков в дробной части:

С помощью этой функции модифицируйте предыдущую задачу так, чтобы в переменную result записывалась дробь, округленная до 3-х знаков в дробной части.

Тонкое место return

После того, как выполнится инструкция return — функция закончит свою работу. То есть: после выполнения return больше никакой код не выполнится.

Это не значит, что в функции должен быть один return. Но выполнится только один из них.

В следующем примере в зависимости от значения параметра выполнится либо первый, либо второй return:

Что выведется на экран в результате выполнения следующего кода:

Что выведет каждый из алертов в результате выполнения следующего кода:

Что выведет каждый из алертов в результате выполнения следующего кода:

Цикл и return

Пусть у нас есть функция, возвращающая сумму чисел от 1 до 5:

Обратите внимание на то, что return расположен после цикла.

Пусть теперь мы расположим return внутри цикла, вот так:

В этом случае цикл прокрутится лишь одну итерацию и произойдет автоматический выход из функции (ну и заодно из цикла).

А за одну итерацию цикла в переменной sum окажется лишь число 1, а не вся нужная сумма.

Что выведется на экран в результате выполнения следующего кода:

Что хотел сделать автор данного кода? Исправьте ошибку автора.

Применение return в цикле

То, что return расположен внутри цикла, не всегда может быть ошибкой.

В следующем примере сделана функция, которая определяет, сколько первых элементов массива нужно сложить, чтобы сумма стала больше или равна 10:

А в следующем примере сделана функция, которая вычисляет, сколько целых чисел, начиная с 1, нужно сложить, чтобы результат был больше 100:

Напишите функцию, которая параметром будет принимать число и делить его на 2 столько раз, пока результат не станет меньше 10. Пусть функция возвращает количество итераций, которое потребовалось для достижения результата.

Приемы работы с return

Существуют некоторые приемы работы с return, упрощающие код.

Рассмотрим, к примеру, следующий код:

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

Давайте перепишем этот код в более сокращенной форме, избавившись от ненужной здесь переменной result:

Дана следующая функция:

Перепишите ее в сокращенной форме согласно изученной теории.

return

На этой странице

Оператор return завершает выполнение текущей функции и возвращает её значение.

Исходный код данного интерактивного примера хранится в репозитории на GitHub. Если вы хотите поучаствовать в проекте интерактивных примеров, пожалуйства, склонируйте https://github.com/mdn/interactive-examples и отправьте нам запрос на включение ваших изменений.

Синтаксис

Описание

При вызове оператора return в функции её выполнение прекращается. Указанное значение возвращается в место вызова функции. Например, приведенная ниже функция возвращает возведенное в квадрат значение своего аргумента, x (где x – это число):

Если возвращаемое значение не указано, вместо него возращается undefined .

Следующие выражения всегда прерывают выполнение функции:

Автоматическая расстановка точек с запятыми

На выражение return влияет автоматическая расстановка точек с запятыми (ASI). Разрыв строки не допускается между ключевым словом return и выражением.

трансформируется ASI в:

В консоли появится предупреждение «unreachable code after return statement».

Для того, чтобы избежать данной проблемы (предотвратить ASI), можно использовать скобки:

Примеры

Прерывание функции

Функция немедленно останавливается в точке, где вызывается return .

Возвращение функции

Смотрите также статью о замыканиях.

Спецификации

СпецификацияСтатусКомментарий
ECMAScript 1st Edition (ECMA-262)СтандартИзначальное определение
ECMAScript 5.1 (ECMA-262)
Определение ‘Return statement’ в этой спецификации.
Стандарт
ECMAScript 2015 (6th Edition, ECMA-262)
Определение ‘Return statement’ в этой спецификации.
Стандарт
ECMAScript (ECMA-262)
Определение ‘Return statement’ в этой спецификации.
Живой стандарт

Совместимость с браузерами

Update compatibility data on GitHub

КомпьютерыМобильныеServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung InternetNode.js
returnChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да

Легенда

Смотрите также

Metadata

  • Последнее изменение: Sep 18, 2019 , помощниками MDN
  1. JavaScript
  2. Уроки:
  3. Базовые
    1. Основы JavaScript
    2. JavaScript first steps
    3. JavaScript building blocks
    4. Introducing JavaScript objects
  4. Руководство по JavaScript
    1. Вступление
    2. Грамматика и типы
    3. Порядок выполнения и обработка ошибок
    4. Циклы и итерации
    5. Функции
    6. Выражения и операторы
    7. Числа и даты
    8. Форматирование текста
    9. Регулярные выражения
    10. Упорядоченные наборы данных
    11. Коллекции
    12. Работа с объектами
    13. Подробнее об объектной модели
    14. Using promises
    15. Итераторы и генераторы
    16. Метапрограммирование
    17. JavaScript modules
  5. Средние
    1. Introducing JavaScript objects
    2. Client-side web APIs
    3. Повторное введение в JavaScript
    4. Структуры данных JavaScript
    5. Проверки на равенство и когда их использовать
    6. Замыкания
  6. Продвинутые
    1. Наследование и цепочка прототипов
    2. Строгий режим
    3. Типизированные массивы JavaScript
    4. Управление памятью
    5. Модель совпадения и циклы событий
  7. Справочная информация:
  8. Встроенные объекты
      AggregateError[Перевести]
    1. Array
    2. ArrayBuffer
    3. AsyncFunctionAsyncIterator[Перевести]
    4. Atomics
    5. BigInt
    6. BigInt64Array[Перевести]
    7. BigUint64Array[Перевести]
    8. Boolean
    9. DataView
    10. Date
    11. Error
    12. EvalError
    13. Float32Array
    14. Float64Array
    15. Function
    16. Generator
    17. GeneratorFunction
    18. Infinity
    19. Int16Array
    20. Int32Array
    21. Int8Array
    22. InternalError
    23. Intl
    24. Intl.Collator
    25. Intl.DateTimeFormat
    26. Intl.DisplayNames[Перевести]Intl.ListFormat
    27. Intl.Locale[Перевести]
    28. Intl.NumberFormat
    29. Intl.PluralRules[Перевести]
    30. Intl.RelativeTimeFormat[Перевести]Iterator[Перевести]
    31. JSON
    32. Map
    33. Math
    34. NaN
    35. Number
    36. Object
    37. Promise
    38. Прокси
    39. RangeError
    40. ReferenceError
    41. Reflect
    42. RegExp
    43. Set
    44. SharedArrayBuffer
    45. String
    46. Symbol
    47. SyntaxError
    48. TypeError
    49. TypedArray
    50. URIError
    51. Uint16Array
    52. Uint32Array
    53. Uint8Array
    54. Uint8ClampedArray
    55. WeakMap
    56. WeakSet
    57. WebAssembly
    58. decodeURI()
    59. decodeURIComponent()
    60. encodeURI()
    61. encodeURIComponent()escape()
    62. eval()
    63. globalThis
    64. isFinite()
    65. isNaN
    66. null
    67. parseFloat()
    68. parseInt()
    69. undefinedunescape()uneval()
  9. Выражения и операторы
    1. Арифметические операцииУпрощенный синтаксис создания массивов
    2. Операторы присваивания
    3. Битовые операции
    4. Оператор Запятая
    5. Операторы сравнения
    6. Условный (тернарный) оператор
    7. Деструктурирующее присваиваниеExpression closures
    8. Функциональное выражениеУпрощенный синтаксис создания функций-генераторов
    9. Оператор группировкиФункция наследования генератора
    10. Логические операторы
    11. Nullish coalescing operator[Перевести]
    12. Инициализация объектов
    13. Приоритет операторов
    14. Оператор опциональной последовательности(в настоящее время на этапе 1) позволяет создавать читаемые цепочки вызовов функций. В основном, конвейерный оператор предоставляет возможность вызова функции с одним аргументом, и позволяет написать:»>Конвейерный оператор
    15. Property accessors
    16. Spread syntax
    17. async function expression
    18. await
    19. class expression
    20. delete
    21. function* expression
    22. in operator
    23. instanceof
    24. Оператор new
    25. new.target
    26. super
    27. this
    28. typeof
    29. void operator
    30. yield
    31. yield*
  10. Инструкции и объявления Legacy generator function[Перевести]
  11. async function
  12. Блок
  13. break
  14. >for each. in
  15. for. in
  16. for. of
  17. function
  18. function*
  19. if. else
  20. import
  21. import.meta
  22. label
  23. let
  24. return
  25. switch
  26. throw
  27. try. catch
  28. var
  29. whilewith
  • Функции
    1. Стрелочные функции
    2. Параметры по умолчанию
    3. Определение методов
    4. Оставшиеся параметры (rest parameters)
    5. Объект arguments
    6. getter
    7. setter
  • Классы
    1. Поля классов
    2. constructor
    3. extends
    4. static
  • Ошибки
    1. , для которого вы нарушили правило ограничения домена.»>Error: Permission denied to access property «x»
    2. InternalError: too much recursion
    3. RangeError: argument is not a val переопределяет аргумент
    4. URIError: malformed URI sequence
    5. Warning: -file- is being assigned a //# sourceMappingURL, but already has one(Внимание: -file- является в сущности назначенным //# sourceMappingURL, но уже имеет один)
    6. Внимание: 08/09 не является восьмеричной постоянной по ECMA-262
    7. Warning: Date.prototype.toLocaleFormat (Является устаревшим)
    8. Предупреждение: циклы JavaScript 1.6 for-each-in устарели
    9. Warning: String.x is deprecated; use String.prototype.x instead
    10. Предупреждение: затворы выражения являются устаревшими
    11. Warning: unreachable code after return statement
  • Ещё
    1. Обзор технологий JavaScript
    2. Лексическая грамматика
    3. Структуры данных JavaScript
    4. Перечисляемость и принадлежность свойств
    5. Протоколы перебора
    6. Строгий режим
    7. Переход в строгий режим
    8. Шаблонные строки
    9. Устаревшие возможности
  • Mozilla

    © 2005- 2020 Mozilla and individual contributors.

    Content is available under these licenses.

    Войти

    Войдите, чтобы насладиться преимуществами аккаунта MDN. Если вы ещё не создали аккаунт, вам будет предложено сделать это после входа в систему.

    Оператор return в JavaScript — Возврат значений функцией

    Урок №3 Возврат значений функцией

    Количество просмотров : 7452

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

    Выводим результат работы функции на экран

    Если вернуться к предыдущим урокам: Введение в Функции и Область видимости переменных, то мы увидим, что во всех примерах результат работы функции мы сразу выводили на экран при помощи метод write () объекта document .

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

    Но в основном в программировании нет необходимости сразу выводить результат работы функции подобным образом.

    Возврат значения функции — Оператор return

    Дело в том, что в JavaScript функция может возвращать результат своей работы (в данном случае числовое значение), а мы его, соответственно, получать , где это необходимо.

    Продолжим работать с предыдущим примером. Только теперь мы не будем сразу выводить результат работы функции (то есть квадрат числа) на экран, а используем его в дальнейшем для каких-либо вычислений.

    Для таких случаев предусмотрена возможность возврата значений функцией . Это делается при помощи оператора return . Давайте на примере посмотрим, как это реализуется.

    Итак, что мы сделали?

    При помощи оператора return мы возвращаем значение функции — переменную result , содержащую квадрат числа.

    Таким образом, мы имеем функцию, которая вычисляет квадрат числа, а потом возвращает это значение .

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

    Что мы и делаем далее: заносим значение (результат работы) функции в переменную total . Затем выводим эту переменную (а значит и результат работы функции) на экран.

    Давайте еще раз повторим пройденный материал. Алгоритм наших действий таков:

    Создаем функцию + возвращаем ее значение (результат работы) — оператор return

    Вызываем функцию в любом месте программы + заносим результат ее работы в какую-либо переменную

    Используем переменную, содержащую значение функции по своему усмотрению

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

    Читать еще:  Java net httpurlconnection
    Ссылка на основную публикацию
    Adblock
    detector