Рубрики
Без рубрики

Após astalação dos pacotes Seu Arquivo Package.json FiCará da Seguinte Forma: Сделайте соединение P2P за 10 минут Понимание функций JavaScript

Этот пост изначально опубликован в моем блоге (http://frugencefidel.com/blogs/underStanding-javascript-functions). Какова функция функции – группа операторов, используемых для выполнения определенных …

Автор оригинала: Frugence Fidel.

Этот пост изначально опубликован на мой блог Отказ

Что такое функция

Функция – это группа утверждений, используемых для выполнения определенной задачи. Функции очень полезны при выполнении повторной задачи.

Например, мы хотим выводить определенные песни песен.

// Declare functions
function verse1() {
  console.log('First verse goes here');
}

function verse2() {
  console.log('Second verse goes here');
}

function chorus() {
  console.log('Chorus goes here');
}

// Call them
// Use this pattern functionName()
verse1(); // First verse goes here
chorus(); // Chorus goes here
verse2(); // Second verse goes here
chorus(); // Chorus goes here

Как видите, Функция Chorus может быть повторена столько, сколько вы хотите.

Определение функции

Функция может быть определена следующими способами, а именно функцией объявления и экспрессию функции

// Function Declaration
function verse1() {
  console.log('First verse goes here');
}
verse1(); // First verse goes here

// Function Expression
let chorus = function() {
  console.log('Chorus goes here');
};
chorus(); // Chorus goes here

Возвращая стоимость

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

let chorus = function() {
  return 'Chorus goes here';
};
console.log(chorus()); // Chorus goes here

function sum() {
  return 1 + 1;
}
console.log(sum()); // 2

Функциональная область

Если вы объявляете переменную внутри функции, она не может быть утечна вне этой функции. Но функция может получить доступ к внешним переменным (глобальные переменные).

const amOut = 'Coming from outside';

function testScope() {
  const amIn = 'Coming from inside';

  console.log(amOut);
  console.log(amIn);
}

console.log(testScope()); // Coming from outside, Coming from inside
console.log(amIn); // amIn is not defined

Параметры против аргументов

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

// 'a' and 'b' are paremeters
function sum(a, b) {
  return a + b;
}

// 5 and 7 are arguments
console.log(sum(5, 7));

Аргументы функций по умолчанию

Функция по умолчанию аргументы используются, когда аргументы не определены.

function sum(a = 5, b = 7) {
  return a + b;
}

// If all arguments are undefined, then pass nothing
console.log(sum()); // 12

// If all arguments are not undefined
console.log(sum(6, undefined)); // 13

Параметры функции отдыха

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

// Without rest paremeters
function sum(a, b) {
  return a + b;
}

console.log(sum(5, 7, 6, 8)); // 12
console.log(sum()); // NaN

// With rest paremeters
function sum(...nums) {
  console.log(nums); // [5, 7, 6, 8]
  let total = 0;
  for (num of nums) {
    total += num;
  }
  return total;
}

console.log(sum(5, 7, 6, 8)); // 26
console.log(sum()); // 0
console.log(sum(5)); // 5
console.log(sum(5, 7)); // 12

Функция обратного вызова высокого порядка vs

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

function callback() {
  console.log('Coming from callback');
}

function highOrder(func) {
  console.log('Waiting for callback');
  func();
  console.log('Callback is called');
}

highOrder(callback);

// Waiting for callback
// Coming from callback
// Callback is called

Анонимная функция

Анонимная функция – это функция без имени.

const anoyms = function() {
  console.log('I am Anonymous function');
};

setInterval(anoyms, 2000);

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

Функции стрелки вводятся в ES6, они имеют более короткий синтаксис по сравнению с функциями экспрессии. Функции стрелки всегда являются анонимными и необязательными «это».

// Expression function
const sum = function(a, b) {
  return a + b;
};
console.log(sum(5, 7)); // 12

// In Arrow function
const sum1 = (a, b) => {
  return a + b;
};
console.log(sum1(5, 7)); // 12

// In Arrow function(Implicity return)
const sum2 = (a, b) => a + b;
console.log(sum2(5, 7)); // 12