JavaScript Functions

From http://www.w3schools.com (Copyright Refsnes Data)

# JavaScript Functions

A function is a reusable code-block that will be executed by an event, or when the function is called.

## Examples

Function
How to call a function.

Function with arguments
How to pass a variable to a function, and use the variable in the function.

Function with arguments 2
How to pass variables to a function, and use these variables in the function.

Function that returns a value
How to let the function return a value.

A function with arguments, that returns a value
How to let the function find the product of two arguments and return the result.

## JavaScript Functions

To keep the browser from executing a script when the page loads, you can put your script into a function.

A function contains code that will be executed by an event or by a call to that function.

You may call a function from anywhere within the page (or even from other pages if the function is embedded in an external .js file).

Functions can be defined both in the <head> and in the <body> section of a document. However, to assure that the function is read/loaded by the browser before it is called, it could be wise to put it in the <head> section.

### Example

    <html>
    <head>
    <script type="text/javascript">
    function displaymessage()
    {
    alert("Hello World!");
    }
    </script>
    </head>

    <body>
    <form>
    <input type="button" value="Click me!"
    onclick="displaymessage()" >
    </form>
    </body>
    </html>

If the line: alert("Hello world!!") in the example above had not been put within a function, it would have been executed as soon as the line was loaded. Now, the script is not executed before the user hits the button. We have added an onClick event to the button that will execute the function displaymessage() when the button is clicked.

You will learn more about JavaScript events in the JS Events chapter.

## How to Define a Function

The syntax for creating a function is:

    function functionname(var1,var2,...,varX)
    {
    some code
    }

var1, var2, etc are variables or values passed into the function. The { and the } defines the start and end of the function.

Note: A function with no parameters must include the parentheses () after the function name:

    function functionname()
    {
    some code
    }

Note: Do not forget about the importance of capitals in JavaScript! The word function must be written in lowercase letters, otherwise a JavaScript error occurs! Also note that you must call a function with the exact same capitals as in the function name.

## The return Statement

The return statement is used to specify the value that is returned from the function.

So, functions that are going to return a value must use the return statement.

### Example

The function below should return the product of two numbers (a and b):

    function prod(a,b)
    {
    x=a*b;
    return x;
    }

When you call the function above, you must pass along two parameters:

    product=prod(2,3);

The returned value from the prod() function is 6, and it will be stored in the variable called product.

## The Lifetime of JavaScript Variables

When you declare a variable within a function, the variable can only be accessed within that function. When you exit the function, the variable is destroyed. These variables are called local variables. You can have local variables with the same name in different functions, because each is recognized only by the function in which it is declared.

If you declare a variable outside a function, all the functions on your page can access it. The lifetime of these variables starts when they are declared, and ends when the page is closed.

From http://www.w3schools.com (Copyright Refsnes Data)