Global Variables

Global variables are ones defined outside of any functions (or within functions, but defined without the var keyword). They can be defined in the following ways:

    a = 123               // Global scope
var b = 456               // Global scope
if (a == 123) var c = 789 // Global scope

Regardless of whether you are using the var keyword, as long as a variable is defined outside of a function, it is global in scope. This means that every part of a script can have access to it.

Local Variables

Parameters passed to a function automatically have local scope. That is, they can be referenced only from within that function. However, there is one exception. Arrays are passed to a function by reference, so if you modify any elements in an array parameter, the elements of the original array will be modified.

To define a local variable that has scope only within the current function, and has not been passed as a parameter, use the var keyword. Example 14-10 shows a function that creates one variable with global scope and two with local scope.

Example 14-10. A function creating variables with global and local scope
<script>
function test()
{
        a = 123               // Global scope
    var b = 456               // Local scope
    if (a == 123) var c = 789 // Local scope
}
</script>

To test whether scope setting has worked in PHP, we can use the isset function. But in JavaScript there isn’t one, so let’s make our own—it’s sure to come in handy in the future—with Example 14-11.

Example 14-11. A version of the isset function for JavaScript
<script> function ...

Get Learning PHP, MySQL, and JavaScript now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.