Function parameters in JavaScript define placeholders for values that a function can accept when it is called.
Syntax:
function Name(paramet1, paramet2, paramet3,...) {
// Statements
}
Rules:
- There is no need to specify the data type for parameters in JavaScript function definitions.
- It does not perform type-checking based on the passed-in JavaScript functions.
- It does not check the number of received arguments.
Parameters:
- Name: It is used to specify the name of the function.
- Arguments: It is provided in the argument field of the function.
These are the types of parameters that can be used in JavaScript
- Defaults Parameter
- Function Rest Parameter
- Arguments Object
- Arguments Pass by Value
- Objects passed by Reference
JavaScript Function Parameters Examples
1. Defaults Parameter
The default parameters are used to initialize the named parameters with default values in case, when no value or undefined is passed.
Syntax:
function Name(paramet1 = value1, paramet2 = value2 .. .) {
// statements
}
Example: This example uses default parameters and performs the multiplication of numbers.
Javascript
function GFG(num1, num2 = 2) { return num1 * num2;}console.log(GFG(4)); |
8
2. Function Rest Parameter
The rest parameter syntax in JavaScript allows a function to accept an indefinite number of arguments as an array.
Example: here’s an example of using the rest parameter syntax in a function
Javascript
function sum(...numbers) { return numbers.reduce((acc, num) => acc + num, 0);}console.log(sum(1, 2, 3)); // Output: 6console.log(sum(1, 2, 3, 4, 5)); // Output: 15console.log(sum(10)); // Output: 10console.log(sum()); // Output: 0 |
6 15 10 0
Explanation: The sum function accepts any number of arguments and calculates their sum using the rest parameter ...numbers
3. Arguments Object
The arguments objects are inbuilt objects in JavaScript functions. In all non-arrow functions, the arguments object is a local variable. Analyze the arguments inside the function by using its arguments object.
Example: This example uses argument objects as parameters and finds the largest of numbers.
Javascript
function GFG() { let i; let maxnum = -Infinity; for (i = 0; i < arguments.length; i++) { if (arguments[i] > maxnum) { maxnum = arguments[i]; } } return maxnum;}console.log(GFG(10, 12, 500, 5, 440, 45)); |
500
4. Arguments Pass by Value
In a function call, the parameters are called as arguments. The pass-by value sends the value of the variable to the function. It does not send the address of the variable. If the function changes the value of arguments then it does not affect the original value.
Example: This example demonstrates the above-used approach.
Javascript
/* Function definition */function GeeksForGeeks(var1, var2) { console.log("Inside the GeeksForGeeks function"); var1 = 100; var2 = 200; /* Display the value of variable inside function */ console.log("var1 =" + var1 + " var2 =" + var2);}var1 = 10;var2 = 20;/* The value of variable before Function call */console.log("Before function calling");console.log("var1 =" + var1 + " var2 =" + var2);/* Function call */GeeksForGeeks(var1, var2);/* The value of variable after Function call */console.log("After function calling");console.log("var1 =" + var1 + " var2 =" + var2); |
Before function calling var1 =10 var2 =20 Inside the GeeksForGeeks function var1 =100 var2 =200 After function calling var1 =10 var2 =20
Explanation:
- Initially,
var1is assigned the value 10 andvar2is assigned the value 20. - When the
GeeksForGeeksfunction is called withvar1andvar2as arguments, it modifies the values ofvar1andvar2to 100 and 200 respectively within its scope. - However, outside the function, the values of
var1andvar2remain unchanged, demonstrating that JavaScript passes arguments by value, not by reference.
5. Objects passed by Reference
In Objects Pass by Reference, passing the address of the variable instead of the value as the argument to call the Function. If we change the value of the variable inside the function then it will affect outside function variables.
Example: This example demonstrates the above-used approach.
Javascript
function GeeksForGeeks(varObj) { console.log("Inside GeeksForGeeks function"); varObj.a = 100; console.log(varObj.a);}// Create objectvarObj = { a: 1 };/* Display value of object before function call */console.log("Before function calling");console.log(varObj.a);/* Function calling */GeeksForGeeks(varObj)/* Display value of object after function call */console.log("After function calling");console.log(varObj.a); |
Before function calling 1 Inside GeeksForGeeks function 100 After function calling 100
Explanation:
- Initially, an object
varObjwith propertyaset to 1 is created. - When the
GeeksForGeeksfunction is called withvarObjas an argument, it modifies the propertyaofvarObjto 100 within its scope. - After the function call, the property
aofvarObjremains modified outside the function, demonstrating that objects are passed by reference in JavaScript.

