Tutorials Exercises Services Get Certified Sign Up Log in
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++
JavaScript Function Parameters
‹ Previous Next ›
A JavaScript function does not perform any checking on parameter values
(arguments).
Function Parameters and Arguments
Earlier in this tutorial, you learned that functions can have parameters:
function functionName(parameter1, parameter2, parameter3) {
// code to be executed
}
Function parameters are the names listed in the function definition.
Function arguments are the real values passed to (and received by) the function.
Parameter Rules
JavaScript function definitions do not specify data types for parameters.
JavaScript functions do not perform type checking on the passed arguments.
JavaScript functions do not check the number of arguments received.
https://www.w3schools.com/js/js_function_parameters.asp 02/11/2024, 10 56 AM
Page 1 of 8
:
Default Parameters
If a function is called with missing arguments (less than declared), the missing values
are set to undefined .
Sometimes this is acceptable, but sometimes it is better to assign a default value to the
parameter:
Example
function myFunction(x, y) {
if (y === undefined) {
y = 2;
}
}
Try it Yourself »
Default Parameter Values
ES6 allows function parameters to have default values.
Example
If y is not passed or undefined, then y = 10.
function myFunction(x, y = 10) {
return x + y;
}
myFunction(5);
Try it Yourself »
https://www.w3schools.com/js/js_function_parameters.asp 02/11/2024, 10 56 AM
Page 2 of 8
:
Function Rest Parameter
The rest parameter (...) allows a function to treat an indefinite number of arguments as
an array:
Example
function sum(...args) {
let sum = 0;
for (let arg of args) sum += arg;
return sum;
}
let x = sum(4, 9, 16, 25, 29, 100, 66, 77);
Try it Yourself »
ADVERTISEMENT
The Arguments Object
JavaScript functions have a built-in object called the arguments object.
The argument object contains an array of the arguments used when the function was
called (invoked).
https://www.w3schools.com/js/js_function_parameters.asp 02/11/2024, 10 56 AM
Page 3 of 8
:
This way you can simply use a function to find (for instance) the highest value in a list
of numbers:
Example
x = findMax(1, 123, 500, 115, 44, 88);
function findMax() {
let max = -Infinity;
for (let i = 0; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
Try it Yourself »
Or create a function to sum all input values:
Example
x = sumAll(1, 123, 500, 115, 44, 88);
function sumAll() {
let sum = 0;
for (let i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
Try it Yourself »
If a function is called with too many arguments (more than declared), these
arguments can be reached using the arguments object.
https://www.w3schools.com/js/js_function_parameters.asp 02/11/2024, 10 56 AM
Page 4 of 8
:
Arguments are Passed by Value
The parameters, in a function call, are the function's arguments.
JavaScript arguments are passed by value: The function only gets to know the values,
not the argument's locations.
If a function changes an argument's value, it does not change the parameter's original
value.
Changes to arguments are not visible (reflected) outside the function.
Objects are Passed by Reference
In JavaScript, object references are values.
Because of this, objects will behave like they are passed by reference:
If a function changes an object property, it changes the original value.
Changes to object properties are visible (reflected) outside the function.
‹ Previous Next ›
W3schools Pathfinder
Track your progress - it's free! Sign Up Log in
ADVERTISEMENT
https://www.w3schools.com/js/js_function_parameters.asp 02/11/2024, 10 56 AM
Page 5 of 8
:
COLOR PICKER
ADVERTISEMENT
https://www.w3schools.com/js/js_function_parameters.asp 02/11/2024, 10 56 AM
Page 6 of 8
:
PLUS SPACES GET CERTIFIED
FOR TEACHERS FOR BUSINESS CONTACT US
Top Tutorials Top References
HTML Tutorial HTML Reference
CSS Tutorial CSS Reference
JavaScript Tutorial JavaScript Reference
How To Tutorial SQL Reference
SQL Tutorial Python Reference
Python Tutorial W3.CSS Reference
W3.CSS Tutorial Bootstrap Reference
Bootstrap Tutorial PHP Reference
PHP Tutorial HTML Colors
Java Tutorial Java Reference
C++ Tutorial Angular Reference
jQuery Tutorial jQuery Reference
Top Examples Get Certified
HTML Examples HTML Certificate
CSS Examples CSS Certificate
JavaScript Examples JavaScript Certificate
How To Examples Front End Certificate
SQL Examples SQL Certificate
Python Examples Python Certificate
W3.CSS Examples PHP Certificate
Bootstrap Examples jQuery Certificate
PHP Examples Java Certificate
Java Examples C++ Certificate
XML Examples C# Certificate
jQuery Examples XML Certificate
FORUM ABOUT ACADEMY
W3Schools is optimized for learning and training. Examples might be simplified to
improve reading and learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we
cannot warrant full correctness
of all content. While using W3Schools, you agree to have read and accepted our terms
of use, cookie and privacy policy.
Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by
W3.CSS.
https://www.w3schools.com/js/js_function_parameters.asp 02/11/2024, 10 56 AM
Page 7 of 8
:
https://www.w3schools.com/js/js_function_parameters.asp 02/11/2024, 10 56 AM
Page 8 of 8
: