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 13-6 shows a function that creates one variable with global scope and two with local scope.

Example 13-6. 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 is no such function, so Example 13-7 makes use of the typeof operator, which returns the string “undefined” when a variable is not defined.

Example 13-7. Checking ...

Get Learning PHP, MySQL, JavaScript, and CSS, 2nd Edition 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.