Как Javascript определяет аргументы в этой функции - PullRequest
0 голосов
/ 04 марта 2020

Я очень плохо знаком с Javascript и пытаюсь выяснить, как работает итерация массива. В приведенном ниже коде может кто-нибудь объяснить мне, как Javascript понимает, что аргументы в функции относятся к -namely: value, index, array. Это зарезервированные ключевые слова. Если «значение», поменялись местами внутри парантезов с «индекс», будет ли функция работать? Может быть, я спрашиваю, как или где были определены эти аргументы?

    var txt ="";
    var numbers =[45,4,56,8, 32];
    numbers.foreach(myFunction);

    function myFunction (value,index,array) {
    txt= txt + value + "<br>";
    }

1 Ответ

0 голосов
/ 04 марта 2020

Вы можете определить параметры вашей функции двумя способами

  1. Позиционный

В позиционном не имеет значения, как называются ваши параметры, потому что параметры назначаются их положение не по имени, поэтому вы можете изменить myFunction(value, index, array) на myFunction(a, b, c), и оно все еще работает, потому что их положение не имеет значения.

Именовано

Существует еще один способ определения параметров функции, когда позиция не имеет значения, но их именование имеет значение.

Например, функция вычитать может быть определенным двумя способами

function subtract({ firstNumber, secondNumber } = {}) {
  return firstNumber - secondNumber;
} 

, который является Именованным и может вызываться как с subtract({ firstNumber: 10, secondNumber: 5 }), так и с subtract({ secondNumber: 5, firstNumber: 10 }), и все же оба результата одинаковы, но вы должны запомнить имена .

Но если определено в Positional :

function subtract(firstNumber, secondNumber) {
  return firstNumber - secondNumber;
} 

Два subtract(5, 10) и subtract(10, 5) дают разные результаты, потому что их положение имеет значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...