The JavaScript Diaries: Part 5 - Page 3
[previous] [next]
The JavaScript Diaries: Part 5
We'll pretend that we have a group that meets every Saturday at a different person's home. Each weekly meeting will be posted on a Web site. To begin, we'll create a function that we can call from somewhere on the Web page:
function meeting() { }
When creating a function it's always a good idea to put in the closing curly bracket so you don't forget it. Next, let's declare some local variables and initialize them with an assigned value:
var text = "The meeting this week will be at "; var nowDate = new Date(); var currDate = nowDate.getDate();
The first variable, text
, has a value of the string: "The meeting
this week will be at." (Note the space after the word "at.") The other two variables
may look a little strange. They are using JavaScripts objects. I'll
explain (on a basic level) what we have done but we'll learn more about objects
in another installment.
The second variable, nowDate
, is assigned the value of the current date. This is done by using the reserved word new
and the Date
object. The date that is used is taken from the user's own computer. (This can be changed and we'll look at it in more detail later in another installment.)
The third variable, currDate
, is then assigned the value of the
current day's date, i.e., if it's June 2, 2005, then the day's value would be
2. This is accomplished by using the getDate
object to extract
the current day's date from the variable nowDate
, which it obtained
from the Date
object on the preceding line.
At this point, I suspect that some of you are a bit (perhaps thoroughly) confused.
Basically, here's what we've done. We have assigned the current date, i.e.,
June 2, 2005, to the variable nowDate
. We then took and extracted
the day's date itself, i.e., 2, and assigned it to the variable currDate
.
Now we can use that value to make comparisons. Now, let's create a set of if/else
statements. In order to do that, let's assume that for the month we're looking
at, the Saturday meetings would fall on the 4th, 11th, 18th, and 25th and that
we would post this script on the first day of the month:
if (currDate < 5) { document.write(text + "Steve's house"); } else if ((currDate < 12) && (currDate > 4)) { document.write(text + "Nancy's house"); } else if ((currDate < 19) && (currDate > 11)) { document.write(text + "Mike's house"); } else { document.write(text + "Sally's house"); }
|
Next, we need to call the function from the Web page where we want the message to be displayed. We would do that by putting the function meeting();
on the page between script tags. Here is what the script looks like in its entirety:
<script type="text/javascript"> <!-- function meeting() { var text = "The meeting this week will be at "; var nowDate = new Date(); var currDate = nowDate.getDate(); if (currDate < 5) { document.write(text + "Steve's house"); } else if ((currDate < 12) && (currDate > 4)) { document.write(text + "Nancy's house"); } else if ((currDate < 19) && (currDate > 11)) { document.write(text + "Mike's house"); } else { document.write(text + "Sally's house"); } } //--> </script>
And the function call:
<script type="text/javascript"> <!-- meeting(); //--> </script>
That's it. There is probably a better way of doing this but what you see was for demonstration purposes only. It would be easier if the script figured out the dates, then we wouldn't have to change it every month. Perhaps later we'll revisit this script and see what we can do to make it better.
[previous] [next]
Created: June 10, 2005
URL: