# Javascript Functions

#### **What is a Function in JavaScript?**

A function is a block of reusable code written to perform a specific task.You can think of a function as a sub-program within the main program. A function consists of a set of statements but executes as a single unit.In JavaScript, we have some browser built-in functions like alert(), prompt(), and confirm().

#### JavaScript Function Syntax

A JavaScript function is defined with the `function` keyword, followed by a **name**, followed by parentheses **()**.Function names can contain letters, digits, underscores, and dollar signs (same rules as variables).The parentheses may include parameter names separated by commas:  
**(*parameter1, parameter2, ...*)**

The code to be executed, by the function, is placed inside curly brackets: **{}**

```javascript
function name(parameter1, parameter2, parameter3) {
  // code to be executed
}
```

#### Function Invocation

The code inside the function will execute when "something" **invokes** (calls) the function:

* When an event occurs (when a user clicks a button)
    
* When it is invoked (called) from JavaScript code
    
* Automatically (self invoked)
    

#### Function Return

When JavaScript reaches a `return` statement, the function will stop executing.If the function was invoked from a statement, JavaScript will "return" to execute the code after the invoking statement.

Functions often compute a **return value**. The return value is "returned" back to the "caller":

```javascript
let x = myFunction(4, 3);   // Function is called, return value will end up in x

function myFunction(a, b) {
  return a * b;             // Function returns the product of a and b
}
```

> 12

#### The () Operator Invokes the Function

Using the example above, `toCelsius` refers to the function object, and `toCelsius()` refers to the function result.

Accessing a function without () will return the function object instead of the function result.

```javascript
function toCelsius(fahrenheit) {
  return (5/9) * (fahrenheit-32);
}
document.getElementById("demo").innerHTML = toCelsius;
```

#### Functions Used as Variable Values

Functions can be used the same way as you use variables, in all types of formulas, assignments, and calculations.

```javascript
let x = toCelsius(77);
let text = "The temperature is " + x + " Celsius";
```

#### Local Variables

Variables declared within a JavaScript function, become **LOCAL** to the function.

Local variables can only be accessed from within the function.

```javascript
// code here can NOT use carName

function myFunction() {
  let carName = "Volvo";
  // code here CAN use carName
}

// code here can NOT use carName
```

> Thank You for giving your valuable time. Happy Learning !!
