User Defined Functions
Writing your own functions gives the ability to reuse code.
Last updated
Writing your own functions gives the ability to reuse code.
Last updated
Almost all programming languages allow us to write our own functions. In Javascript, the syntax is:
function name (params) {
// Your code with optional return value
}
Let's say we need to do something over and over in our program - perhaps decide how many zeros are in a quadratic equation given a
,b
,and c
. Rather than do the math over and over, we can create a function and return either 0, 1, or 2.
This would allow us to make decisions or act on the return value of 0, 1, or 2. We could print it, use it for other math, or ignore it completely.
If your function does not have a return
call with a value, the result is undefined
. Here's a simple example of a function that doesn't return anything:
It isn't often that a user-defined function has zero parameters. However, it can be done. Here's one that shouts the current time (it prints it to the console). No parameters, no return value.
Here's a function that takes two parameters, base
and exponent
. It prints the answer to the console. Again, no return value.
In example 2, above, the time is output in 24-hour "military" time. Perhaps we only want it to do that if we ask it to. We can have a parameter militaryTime
that is false by default but if we pass true
as a parameter to the function, it prints in 24-hour format.
Notice how we defined the parameter to our function: shoutCurrentTime(militaryTime = false)
This defines the parameter and sets it to false
, unless we set it to something else.
The true strength of a function is the ability to return an answer. It could be a modification of the parameter(s) passed into the function or a completely unrelated piece of data. The return
keyword breaks out of the function, no matter what is happening, and sends whatever data you want to return.
Note: if you need to return more than one piece of data, you must return it in an array or object.
Many examples in one: