O'Reilly logo

Learning PHP, MySQL, JavaScript, and CSS, 2nd Edition by Robin Nixon

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 the scope ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required