Files
freeCodeCamp/guide/russian/javascript/function-invocation/index.md
2018-10-16 21:32:40 +05:30

3.0 KiB
Raw Blame History

title, localeTitle
title localeTitle
Function Invocation Вызов функции

Вызов функции

Код внутри функции выполняется при вызове функции. Обычно используется термин «вызов функции» вместо «вызывать функцию».

Функции должны быть в области действия, когда они вызываются. Объем функции - это функция, в которой она объявлена, или вся программа, если она объявлена ​​на верхнем уровне.

function myFunction(a, b) { 
  return a * b; 
 } 
 myFunction(10, 2);           // Function invocation, will return 20 
 
 //optional parameters (es6 only) 
 //allow to set optional parameters 
 
 function myFunction(a, b = 10) { 
  return a * b; 
 } 
 myFunction(1);           // Function invocation, will return 10 
 myFunction(1,5);           // Function invocation, will return 5 

В примере кода a и b являются параметрами функции, которые содержат значения 10 и 2, которые являются аргументами, используемыми в вызове функции.

Вызов функции как метода

В JavaScript вы можете определять функции как методы объекта.

В следующем примере создается объект ( myObject ) с двумя свойствами ( firstName и lastName ) и методом ( fullName ):

var myObject = { 
  firstName:"John", 
  lastName: "Doe", 
  fullName: function () { 
    return this.firstName + " " + this.lastName; 
  } 
 } 
 myObject.fullName();         // Function invoked as a method, will return "John Doe" 

Функции стрелки

В новейшей версии Javascript вы также можете сократить синтаксис с помощью функций стрелок. На следующем рисунке показаны две функции. Один из них написан в стандартной форме, один написан как функция стрелки. Имейте в виду, что функции стрелок не имеют собственных, аргументов, супер или new.target.

//regular function 
 
 function addStuff(args) { 
   return args + 2; 
 } 
 
 addStuff(2); 
 //returns 4 
 
 //arrow function 
 
 var addStuff = (args) => args + 2; 
 addStuff(2); 
 //returns 4 

Эта сокращенная версия функции стрелки имеет неявный возврат, поэтому вы не указываете оператор return.

Дополнительная информация:

  • Документация по функциям: MDN