JavaScript Function Parameters
Last Updated :
07 Mar, 2024
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));
|
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));
console.log(sum(1, 2, 3, 4, 5));
console.log(sum(10));
console.log(sum());
|
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));
|
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 GeeksForGeeks(var1, var2) {
console.log( "Inside the GeeksForGeeks function" );
var1 = 100;
var2 = 200;
console.log( "var1 =" + var1 + " var2 =" + var2);
}
var1 = 10;
var2 = 20;
console.log( "Before function calling" );
console.log( "var1 =" + var1 + " var2 =" + var2);
GeeksForGeeks(var1, var2);
console.log( "After function calling" );
console.log( "var1 =" + var1 + " var2 =" + var2);
|
Output
Before function calling
var1 =10 var2 =20
Inside the GeeksForGeeks function
var1 =100 var2 =200
After function calling
var1 =10 var2 =20
Explanation:
- Initially,
var1
is assigned the value 10 and var2
is assigned the value 20.
- When the
GeeksForGeeks
function is called with var1
and var2
as arguments, it modifies the values of var1
and var2
to 100 and 200 respectively within its scope.
- However, outside the function, the values of
var1
and var2
remain 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);
}
varObj = { a: 1 };
console.log( "Before function calling" );
console.log(varObj.a);
GeeksForGeeks(varObj)
console.log( "After function calling" );
console.log(varObj.a);
|
Output
Before function calling
1
Inside GeeksForGeeks function
100
After function calling
100
Explanation:
- Initially, an object
varObj
with property a
set to 1 is created.
- When the
GeeksForGeeks
function is called with varObj
as an argument, it modifies the property a
of varObj
to 100 within its scope.
- After the function call, the property
a
of varObj
remains modified outside the function, demonstrating that objects are passed by reference in JavaScript.
Share your thoughts in the comments
Please Login to comment...