HTML Template Containing a Script

<BODY BGCOLOR="#FFF00">
<H1 ALIGN="CENTER"> Test
Page </H1>
<HR><P>
<SCRIPT LANGUAGE="JavaScript">
<!-- hide from browsers
// script code goes here
//-->
</SCRIPT>
<P><HR>
</BODY>
</HTML>
JavaScript is an object-based language. Users can create objects or use built-in objects. An object can have constructors, properties, methods, and event handlers.
Creating Generic Objects
myCustomers = new Array(10);
myCustomers[0] = myCustomer;
JavaScript provides a view of the XML Document Object Model (DOM). There seems to be some confusion over terminology, though. In some cases objects seem to be classes.

JavaScript syntax is pretty similar to Java syntax except functions and variables are untyped.
Variable Declarations and Expressions
Fibonacci Sequence

function fib(n)
{
if (n <= 1)
return 1;
else
return fib(n - 1) + fib(n - 2);
}
document.writeln("The Fibonacci
sequence: <br>");
for(var i = 0; i < 10; i++)
{
var count = fib(i);
for(var j = 0;
j < count; j++)
document.write("+");
document.writeln("<br>");
}
//-->
</SCRIPT>

// = n!
function fact(n)
{
var result = 1;
for(var i = n;
i > 0; i--)
result *= i;
return result;
}
// = # of ways to choose m from
n
function choose(n, m)
{
if (m == 0 || m
== n)
return 1;
else if (n <
m)
return 0;
else if (m == 1
|| m == n - 1)
return n;
else
{
var num = fact(n);
var den = fact(m) * fact(n - m);
return num/den;
}
}
document.writeln("Pascal's Triangle:
<br>");
for(var i = 0; i < 10; i++)
{
for(var j = 0;
j <= i; j++)
document.write(choose(i, j) + '\t');
document.writeln("<br>");
}
//-->
</SCRIPT>
Mouse Events

<h1>Link Events</h1>
<a href="#" onClick="alert('Ooo,
do it again!');">Click on me!</a><br>
<a href="#" onMouseOver="alert('Hee
hee!');">Mouse over me!</a><br>
</body>
</html>

<BODY BGCOLOR="#FFF00">
<H1 ALIGN="CENTER"> Calculator
</H1>
<HR><p>
<TABLE ALIGN="CENTER">
<FORM>
<INPUT TYPE=TEXT NAME=display
SIZE=13>
</FORM>
</TABLE>
<TABLE ALIGN="CENTER" BORDER="1"
>
<TR>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" 1 " onClick="handleClick(1)">
</FORM>
</TD>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" 2 " onClick="handleClick(2)">
</FORM>
</TD>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" 3 " onClick="handleClick(3)">
</FORM>
</TD>
</TR>
<TR>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" 4 " onClick="handleClick(4)">
</FORM>
</TD>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" 5 " onClick="handleClick(5)">
</FORM>
</TD>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" 6 " onClick="handleClick(6)">
</FORM>
</TD>
</TR>
<TR>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" 7 " onClick="handleClick(7)">
</FORM>
</TD>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" 8 " onClick="handleClick(8)">
</FORM>
</TD>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" 9 " onClick="handleClick(9)">
</FORM>
</TD>
</TR>
<TR>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" = " onClick="handleClick(-1)">
</FORM>
</TD>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" 0 " onClick="handleClick(0)">
</FORM>
</TD>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" + " onClick="handleClick(-2)">
</FORM>
</TD>
</TR>
<TR>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" * " onClick="handleClick(-3)">
</FORM>
</TD>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" - " onClick="handleClick(-4)">
</FORM>
</TD>
<TD>
<FORM>
<INPUT TYPE="BUTTON" VALUE=" / " onClick="handleClick(-5)">
</FORM>
</TD>
</TR>
</TABLE>
<SCRIPT LANGUAGE="JavaScript">
<!-- hide script
var arg = 0, ans = 0, y = 0;
var resultBox = window.document.forms[0];
function handleClick(x)
{
if (0 <= x)
{
arg = 10 * arg + x;
resultBox.display.value = arg;
}
else
{
if (y == -2) // +
{
ans += arg;
}
else if (y == -3) // *
{
ans *= arg;
}
else if (y == -4) // -
{
ans -= arg;
}
else if (y == -5) // /
{
ans /= arg;
}
else
{
ans = arg;
}
if (x == -1) // =
{
//ans = arg;
y = 0;
}
else
{
y = x;
}
arg = 0;
resultBox.display.value = ans;
}
}
//-->
</SCRIPT>
<P><HR>
</BODY>
</HTML>
Example: Craps

<BODY BGCOLOR="#FFF00">
<H1 ALIGN="CENTER"> Want
to play CRAPS? </H1>
<HR><p>
<FORM NAME="craps" onSubmit="roll();
return false;">
Die #1 <INPUT TYPE=TEXT NAME=die1
SIZE=10><BR>
Die #2 <INPUT TYPE=TEXT NAME=die2
SIZE=10><BR>
total <INPUT TYPE=TEXT NAME=total
SIZE=10><BR>
point <INPUT TYPE=TEXT NAME=point
SIZE=10>
<P><INPUT TYPE=SUBMIT
VALUE="Roll">
</FORM>
<SCRIPT LANGUAGE="JavaScript">
<!-- hide script
var sum, point;
var newGame = true;
function roll()
{
var crapsForm =
window.document.craps;
var r1 = Math.round(100
* Math.random()) % 6 + 1;
var r2 = Math.round(100
* Math.random()) % 6 + 1;
sum = r1 + r2;
crapsForm.die1.value
= "" + r1;
crapsForm.die2.value
= "" + r2;
crapsForm.total.value
= "" + sum;
if (sum == 2 ||
sum == 3 || sum == 12)
{
newGame = true;
window.alert("Sorry, you loose");
}
else if (sum ==
7 || sum == 11)
{
if (newGame)
window.alert("Congradulations, you win");
else
{
newGame = true;
window.alert("Sorry, you loose");
}
}
else if (newGame)
{
newGame = false;
point = sum;
crapsForm.point.value = "" + point;
}
else if (sum ==
point)
{
newGame = true;
window.alert("Congradulations, you win");
}
else
{
window.alert("Roll again");
}
}
//-->
</SCRIPT>
<P><HR>
</BODY>
</HTML>
Dynamic HTML
Event Monitoring
JavaScript Applications
HTML Customization
Dynamic HTML
Validating Forms
Manipulating Cookies
Interacting with Frames
Calling Java
Java Calling JavaScript