 # HTML Goodies: Script Tip: Week 16

### WEBINAR:On-Demand

Desktop-as-a-Service Designed for Any Cloud ? Nutanix Frame Mr. Tip, I presume?

Okay, hey! New script this week! This script is great in that it produces a random number between 1 and any number. You can set the upper limit within the script. The output of the script looks like this:

And here's what it all looks like:

<script language="JavaScript">
<!--
function RandomNumber(upper_limit)
{
return Math.round(upper_limit * Math.random());
}
//--&gt
</script>

<script language="JavaScript">
<!--
var upper_limit = 50;
document.write('Here is a random number between 0 and '
+ upper_limit + ':<P><center>');
document.write(RandomNumber(upper_limit) + '</center>');
//-->
</script>

Wait (you yell)! That's not one script, that's two!

Yup.

But they work with each other. The first script actually creates the random number. The second is mainly there to set the upper limit and display the results. It's a pretty clever script. Look at the line that creates the random number to start it off.

return Math.round(upper_limit * Math.random());

Let's break it down so it's readable. "Math" is an object, but it's a strange object. It itself isn't really anything except a socket with which you can connect methods. It's just that when you use the Math object, you are stating to the browser that this script deals directly with numbers and mathematics.

"round" (note lack of capitalization) is a method that rounds off the number that "Math" will soon represent.

"random" (again, note lack of caps) is a method that asks for a random number between 0 and 1. Keep in mind that JavaScript plays in millisections so it's not as silly as it first seems. There are 1000 choices the script can make.

So, let's read the line. Return to the script a rounded-off version (Math.round) of the upper_limit (not yet set), times (*) a random number between 0 and 1 (Math.random()). If the upper limit is set to 50, you would get one of 50 different answers, and since the round method rounds up, you'll never get a zero.

Make a note of where all the parentheses are. The upper limit number and the random number between 0 and 1 are figured first. Then the number is rounded. Remember that from high school algebra? What's inside the ( ) gets figured first.

That's the mathematics of it all. But where does the upper limit come from? Why, it's the function itself! See you next week.

Next Week: The Upper Limit

Learn to write your own JavaScripts with the
HTML Goodies 30-Step Primer Series
and take the knowledge home with you in
JavaScript Goodies!

You can find many other uses for JavaScript 