JavaScript Tutorial - Variables and Scope

LeftRight

A variable is something that ``varies''. In that it can carry a value that can be changed. Contrast this to constants, that do not change at all.

JavaScript is a un-typed language - that is - a variable can hold either an integer, floating point, string, or an object at anytime regardless of what it held before.

The only provision is that you ``must'' declare variables before reading them. (This results in a run-time error if not done.)

Scope is the term to describe where the variable is defined.

Example: work/vars.html

<HTML>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
// integers
var i;		// un-initialized
var j = 3;	// initialized to a value
// floating point
var pi = 3.1419;
// string
var global = "global";
var string = global;

document.writeln("<BR>global scope");
document.writeln("<BR>i = ", i);
document.writeln("<BR>j = ", j);
document.writeln("<BR>pi = ", pi);
document.writeln("<BR>global = ", global);
document.writeln("<BR>string = ", string);

function f() {
	var string = "local";	// initialized in local scope
	var i = 5;		// initialized in local scope
	j = 5;			// set in global scope
	document.writeln("<BLOCKQUOTE><BR>In function f()");
	document.writeln("<BR>global = ", global);
//	document.writeln("<BR>local = ", local); // this is a run-time error
	document.writeln("<BR>string = ", string);
	document.writeln("<BR>i = ", i);
	document.writeln("<BR>j = ", j);
	k = 5;			// this declares and initializes k
				// however,not a good practice
	document.writeln("<BR>k = ", k);
	document.writeln("<BR>Out of function f()</BLOCKQUOTE>");
}
f();	// call the function

document.writeln("<BR>global scope");
document.writeln("<BR>i = ", i);
document.writeln("<BR>j = ", j);
document.writeln("<BR>pi = ", pi);
document.writeln("<BR>global = ", global);
document.writeln("<BR>string = ", string);

</SCRIPT>
</BODY>
</HTML>
LeftRight
Slide 4