02. Function Parameters
Parameters
Функция при вызове может принимать определенные значения, называемые её параметрами. Параметры функции в её области видимости являются локальными переменными:
function sum(a, b) {
return a + b;
}
Arguments
Значения параметров, передаваемые при вызове функций называются её аргументами. Передаваемые значения копируются в параметры функции и становятся локальными переменными при вызове функции. Вызывать функцию можно с любым число аргументов - это не будет ошибкой.
Если число переданных аргументов меньше числа объявленных параметров, то недостающие параметры получают значение
undefined
.Если в функцию было передано большее число аргументов, то лишние просто игнорируются.
sum(2, 2); // 4
sum(2); // sum(2, undefined) => NaN
sum(2, 2, 2); // sum(2, 2) => NaN
Аргументы копируются в параметры передаются по значению. Если функция изменяет значение параметра, то это изменение не влияет на глобальный контекст. Однако из этого правила есть исключения для ссылочных типов: если функция изменяет свойства объекта, эти изменения видны для всех переменных, ссылающихся на данный объект:
function myFunc(theObject) {
theObject.brand = "Toyota";
}
const car = {
brand: "Honda",
model: "Accord",
year: 1998
};
console.log(car.brand); // Honda
myFunc(car);
console.log(car); // Toyota
Last updated
Was this helpful?