functionName(parm1,parm2,parm3,...) // during calling or invoking three arguments needed
functionName(parm1,parm2,parm3,...) // Во время вызова, потребуется три аргумента
// this function takes array as a parameter and sum up the numbers in the array
// Функция принимает массив как параметр, и суммирует числа в массиве
function sumArrayValues(arr) {
let sum = 0;
for (let i = 0; i <arr.length;i++){
@ -212,29 +213,30 @@ function sumArrayValues(arr) {
}
return sum;
}
const numbers = [1, 2, 3, 4, 5];
//calling a function
// Вызов функции
console.log(sumArrayValues(numbers));
const areaOfCircle = (radius) => {
let area = Math.PI * radius * radius;
return area;
}
const areaOfCircle = (radius) => {
let area = Math.PI * radius * radius;
return area;
}
console.log(areaOfCircle(10))
```
### Function with unlimited number of parameters
### Функции с неограниченным числом параметров
Sometimes we do not know how many arguments the user going to pass. Therefore, we should know how to write a function which can take unlimited number of arguments. The way we do it has a significant difference between a function declaration(regular function) and arrow function. Let us see examples both in function declaration and arrow function.
Иногда мы не знаем, как много аргументов собирается ввести пользователь. Следовательно, мы должны знать как писать функции, которые могут принимать неограниченное число аргументов. То, как мы это делаем, имеет существенную разницу между обычной функцией и стрелочной функцией. Давайте посмотрим примеры с обычной функцией, так и со стрелочной функцией.
#### Unlimited number of parameters in regular function
#### Неограниченное число параметров в обычных функциях
A function declaration provides a function scoped arguments array like object. Any thing we passed as argument in the function can be accessed from arguments object inside the functions. Let us see an example
Объявление функции предоставляет массив аргументов в области действия функции, такой как объект. К любой вещи, которую мы передали в качестве аргумента функции, можно получить доступ из объекта `arguments` внутри функции. Давайте посмотрим пример
#### Unlimited number of parameters in arrow function
#### Неограниченное число параметров в стрелочных функциях
Arrow function does not have the function scoped arguments object. To implement a function which takes unlimited number of arguments in an arrow function we use spread operator followed by any parameter name. Any thing we passed as argument in the function can be accessed as array in the arrow function. Let us see an example
Стрелочная функция не имеет объекта аргументов области действия функции. Чтобы реализовать функцию, которая принимает неограниченное количество аргументов в стрелочной функции, мы используем оператор `spread`, за которым следует любое имя параметра. Любая вещь, которую мы передали в качестве аргумента функции, может быть доступна как массив в стрелочной. Давайте посмотрим пример
```js
// Let us access the arguments object
```js
// Давайте получим доступ к объекту с аргументами
const sumAllNums = (...args) => {
// console.log(arguments), arguments object not found in arrow function
// instead we use a parameter followed by spread operator (...)
// console.log(arguments), Объект arguments не найден в стрелочной функции
// Вместо этого, мы используем параметр, который следует после оператора spread (...)