1.10 Exploring JavaScript
The way to really learn a new programming language is to write
programs with it. As you read through this book, I encourage you to
try out JavaScript features as you learn about them. There are a
number of techniques that make it easy to experiment with JavaScript.
The most obvious way to explore
JavaScript is to write simple scripts. One of the nice things about
client-side JavaScript is that anyone with a web browser and a simple
text editor has a complete development environment; there is no need
to buy or download special-purpose software in order to begin writing
JavaScript scripts. We saw an example that computed factorials at the
beginning of this chapter.
Suppose
you wanted to modify it as follows to display Fibonacci numbers
instead:
<script>This code may be convoluted (and
document.write("<h2>Table of Fibonacci Numbers</h2>");
for (i=0, j=1, k=0, fib =0; i<50; i++, fib=j+k, j=k, k=fib){
document.write("Fibonacci (" + i + ") = " + fib);
document.write("<br>");
}
</script>
don't worry if you don't yet understand it), but the
point is that when you want to experiment with short programs like
this, you can simply type them up and try them out in your web
browser using a local file: URL. Note that the
code uses the document.write(
)
method to display its HTML
output, so that you can see the results of
its computations. This is an important technique for experimenting
with JavaScript. As an alternative, you can also use the
alert( ) method to display plain-text output in a
dialog box:
alert("Fibonacci (" + i + ") = " + fib);Note also that for simple JavaScript experiments like this, you can
usually omit the <html>,
<head>, and <body>
tags in your HTML file.
For even simpler experiments with
JavaScript, you can sometimes use the javascript:
URL pseudoprotocol to evaluate a JavaScript expression and return the
result. A JavaScript URL consists of the
javascript: protocol specifier followed by
arbitrary JavaScript code (with statements separated from one another
by
semicolons). When the browser loads
such a URL, it executes the JavaScript code. The value of the last
expression in such a URL is converted to a string, and this string is
displayed by the web browser as its new document. For example, you
might type the following JavaScript URLs into the Location field of your web browser to test
your understanding of some of JavaScript's
operators and
statements:
javascript:5%2While exploring JavaScript, you'll probably write code that
javascript:x = 3; (x < 5)? "x is less": "x is greater"
javascript:d = new Date( ); typeof d;
javascript:for(i=0,j=1,k=0,fib=1; i<10; i++,fib=j+k,k=j,j=fib) alert(fib);
javascript:s="; for(i in document) s+=i+":"+document[i]+"\n"; alert(s);
doesn't work as you expect it to and want to debug it. The
basic debugging technique for JavaScript is like that in many other
languages: insert statements into your code to print out the values
of relevant variables so that you can try to figure out what is
actually happening. As we've seen, you can sometimes use the
document.write( ) method to do this. This method
doesn't work from within event handlers, however, and has some
other shortcomings as well, so it's often easier to use the
alert( ) function to display
debugging messages in a separate
dialog box.
The for/in
Chapter 6) is also useful for debugging. You can use it,
along with the alert( ) method, to write a
function that displays a list of the names and values of all
properties of an object, for example. This kind of function can be
handy when exploring the language or trying to debug code.
Good luck with JavaScript, and have fun exploring!