In This Chapter
What Is a Variable?
Naming Variables: Rules and Best Practices
Understanding Literal Data Types
What Is a Variable?
In programming, the way you save a value for later use is by storing it in a variable. This is a small chunk of computer memory that's set aside for holding program data. The good news is that the specifics of how the data is stored and retrieved from memory happen well behind the scenes, so it isn't something you ever have to worry about. As a scripter, working with variables involves just three things:
Creating (or declaring) variables.
Assigning values to those variables.
Including the variables in other statements in your code.
The next three sections fill in the details.
Declaring a Variable
Although you're free to use a variable as many times as you need it within a script, only declare the variable once, and make sure that declaration occurs before any other uses of the variable. (Declaring a variable more than once won't cause an error, but doing so is bad programming practice.)
If you have a number of variables to declare, consider grouping two or more on a single line, like this:
var current_date, current_time
You can declare as many variables as you like on a single line. Just be sure to separate each name with a comma (,).
It's traditional in programming to place all the variable declarations at the beginning of a script (or function). This lets you see all the variables you've declared, and it ensures that you declare each variable before you use it within the script.
Variables behave a bit differently depending on whether they're declared inside or outside of a function, see "Understanding Local Versus Global Variables."
Storing a Value in a Variable
After your variable is declared, your next task is to give it a value. Note, however, that this doesn't have to happen immediately after the var statement. You can hold off until later in the script, if that's convenient or makes the script easier to read. In any case, you use the assignment operator—the equals (=) sign—to store a value in a variable, as in this general statement:
variable_name = Value
Here's an example that assigns the value 0.07 to a variable named interest_rate:
interest_rate = 0.07
Note, too, that if you know the initial value of the variable in advance, you can combine the declaration and initial assignment into a single statement, like this:
var interest_rate = 0.07
You can also put multiple declarations and initializations on a single line, as shown in this example:
var interest_rate = 0.07, mortgage_term = 30
It's important to remember that you're free to change a variable's value any time you like. (That's why it's called a variable, because its value can vary.) For example, if the value you assign to the interest_rate variable is an annual rate, later on your code might need to work with a monthly rate, which is the annual rate divided by 12. Rather than calculate that by hand, just put it in your code using the division operator (/):
interest_rate = 0.07 / 12
As a final note about using variable assignment, let's look at a variation that often causes some confusion among new programmers. Specifically, you can set up a statement that assigns a new value to a variable by changing its existing value. Here's an example:
interest_rate = interest_rate / 12
If you've never seen this kind of statement before, it probably looks a bit illogical. How can something equal itself divided by 12? The secret to understanding this kind of statement is to remember that the browser always evaluates the right side of the statement—that is, the expression to the right of the equals sign (=)—first. In other words, it takes the current value of interest_rate, which is 0.07, and divides it by 12. The resulting value is what's stored in interest_rate when all is said and done.
Using Variables in Statements
With your variable declared and assigned a value, you can then use that variable in other statements. When the browser sees the variable, it goes to the computer's memory, retrieves the current value of the variable, and then substitutes that value into the statement. Listing 3.1 presents a simple example.
All the code listings in this chapter are available online from my Web site at the following address:
Listing 3.1 Declaring, Initializing, and Using a Variable
As shown in Figure 3.1, the alert() statement displays the current value of the variable.
Figure 3.1 When you use a variable in a statement, the browser substitutes the current value of that variable.
Listing 3.2 shows a slightly different example.
Listing 3.2 Initializing a Variable by Prompting the User
This script uses the prompt() method to ask the user to enter his first name, as shown in the top browser (Netscape) in Figure 3.2. When the user clicks OK, his name is stored in the first_name variable. The script then uses an alert() statement to display a personalized welcome message using the value of the first_name variable, as shown in the bottom browser (Internet Explorer) in Figure 3.2.
Figure 3.2 This script prompts the user for his first name and then uses the name to display a personalized welcome message.
The prompt() method in detail later in the book, see "Getting Input Using the prompt() Method,".
In these early chapters, I use the alert() method quite often because it gives you can easy way to see the results of my example scripts. In practice, however, you'll use alert() only rarely because few users want to be pestered by dialog boxes throughout a site.