第1页
Introduction to JavaScript
This talk introduces the JavaScript language.
© Netskills, University of Newcastle
Copyright in the whole and every part of this Courseware whether in the form of a written manual,document, software program, service or otherwise belongs to the University of Newcastle upon Tyne ("the Owner") and may not be used, sold, licensed, transferred, copied or reproduced in whole or in part in any manner or form or in or on any media to any person other than in accordance with the terms of the Owner's Licence Agreement or otherwise without the prior written consent of the Owner.
All use of this material is governed by the Owner's Standard Licence Agreement together with the appropriate Schedule. The following are available:
A Standard Licence Schedule to cover all use including all for-profit use by any type of organisation and all use by non-educational establishments
An Educational Licence Schedule for not-for-profit internal use only by a recognised educational establishment
The Netskills logo and this copyright notice must be included in any copy or adaptation.
Netskills is a trademark of Netskills, University of Newcastle
第2页
Introduction
What is it?
How does it work?
What is Java?
Learning JavaScript
JavaScript Statements
JavaScript and HTML forms
This talk aims to give an overview of JavaScript - introducing the concepts and explaining the potential and possible uses.
The talk moves on to describe the basics behind the language, how and where it operates and how it is included in a web page.
A number of real examples of JavaScript are provided to demonstrate some of the features and syntax of the language, and to identify key concepts. As part of this, a quick refresher on the HTML form tags is given as this is crucial to many of the exercises in the accompanying hands-on document.
A comparison with Java is given to clear up any confusion surrounding the connection between the two languages.
第3页
What is JavaScript?
Browsers have limited functionality
Text, images, tables, frames
JavaScript allows for interactivity
Browser/page manipulation
Reacting to user actions
A type of programming language
Easy to learn
Developed by Netscape
Now a standard exists – www.ecma-international.org/publications/standards/ECMA-262.HTM
When the web was conceived, browsers were limited to text and image - later tables and frames. The extent to which they provided interactivity with the user was very limited. JavaScript was developed by Netscape as a simple programming language (often referred to as a scripting language). It is easy to learn and small sections of JavaScript can be added to a web page rather than needing to develop complicated programs. It was specially designed for web page interaction and manipulating the web browser and page elements. It is often used to respond to user actions such as mouse clicks.
Although developed by Netscape, and other variants exist, such as Jscript from Microsoft, a standard has been developed by the European Computer Manufacturers Association. It is known as ECMAScript, using the standard ECMA262, which can be found fully documented at the address on the slide.
第4页
JavaScript Allows Interactivity
Improve appearance
Especially graphics
Visual feedback
Site navigation
Perform calculations
Validation of input
Other technologies
javascript.internet.com
Examples should be shown which demonstrate different uses of JavaScript. For example, try the calculator example at the address shown.
JavaScript can provide interactivity and/or enhance pages in several ways. It is particularly good at manipulating browser elements and images to improve page presentation and navigation.
As a programming language it can handle quite complex calculations and control the behaviour of embedded content including images.
A useful function is input validation - checking form responses BEFORE the form is sent for processing to a server. In this way it can be quicker and more user friendly, providing immediate feedback to the user.
JavaScript can be combined with other technologies such as Java applets or plug-ins, but this is beyond the scope of this presentation.
第5页
How Does It Work?
Embedded within HTML page
View source
Executes on client
Fast, no connection needed once loaded
Simple programming statements combined with HTML tags
Interpreted (not compiled)
No special tools required
JavaScript is embedded/included within HTML. You can often see JavaScript in the source of a web page or it is provided for information on the page as with the calculator example.
JavaScript is mainly used as a client-side language - it downloads with the web page. Once the page has downloaded and is on the users' machine, it is actually the web browser which then interprets the JavaScript instructions. JavaScript pages run quickly, you are not relying on an internet connection to a web server. Short pieces of JavaScript can be combined with HTML without the need to develop a fully blown program.
There are two types of computer language, compiled and interpreted. To write or edit a compiled language requires a special piece of software called a compiler. JavaScript belongs to the other category, called interpreted. In the case of JavaScript, this interpretation is done by the browser software at run-time. Because JavaScript is interpreted, this means that no special tools are required to write or edit JavaScript, just a normal text editor. JavaScript web pages can be platform independent i.e. they will run on different browsers and computers (as long as the browser is JavaScript enabled). If you see a JavaScript web page that you like, you may be able to take that JavaScript and use it for your own purposes. (Remember to acknowledge the original author!)
第6页
What is Java?
Totally different
A full programming language
Much harder!
A compiled language
Independent of the web
Sometimes used together
Java is often confused with JavaScript. JavaScript was originally called LiveScript, but due to the popularity of Java at the time, it was renamed JavaScript . Java is different from JavaScript in a number of significant areas:
Java is a full programming language which can do just about anything - JavaScript isn't and can only do relatively simple things.
Java is much harder to learn and takes much longer to master.
Java is compiled. The language is not 'embedded' or written in the page - it is self-contained as a separate file.
Java can be used/written totally independently from the web - JavaScript works with web browsers only.
They are sometimes used together - JavaScript can be used to 'control' or configure Java 'applets'.
This talk does not cover Java in any more detail.
A separate Netskills Training Module investigates the use of Java applets.
第7页
Learning JavaScript
Special syntax to learn
Learn the basics and then use other people's (lots of free sites)
Write it in a text editor, view results in browser
You need to revise your HTML
You need patience and good eyesight!
To learn JavaScript you will need to learn some of its language syntax.
However, a good strategy is to learn the basics, and then use and adapt other people's JavaScript. There are plenty of sites on the internet offering free JavaScript (see slide 4) with the calculator example. Other useful addresses are provided in the notes of last slide.
As with HTML, JavaScript can be written in a text editor and viewed in a browser. As it is a programming language the syntax is quite strict (compared to HTML). It is also a good idea to make sure your HTML is up to scratch as this will save you time. The hands-on exercises contain an refresher exercise on HTML forms.
第8页
JavaScript Statements
<html>
<head><title>My Page</title></head>
<body>
<script language="JavaScript">
document.write('This is my first
JavaScript Page');
</script>
</body>
</html>
Note the symbol for line continuation
JavaScript can be contained either in the header section of an HTML page or in the body. This JavaScript statement is shown as a pure JavaScript statement within SCRIPT tags.
Notice that there is no HTML in the body of this page at all. (Demonstrate what this JavaScript looks like in a web browser).
This statement writes a line of text on a web page.
The command document.write is a standard function in JavaScript to write text to the page. The following is a more technical explanation for background information only:
document.write is derived from the JavaScript object model (not covered in detail here). It works on the principle that all document and browser elements have an object name (document, window, image etc) and can each has various properties that can be manipulated. The object hierarchy means that individual elements can be uniquely identified i.e. document.myform.mytext would refer to the text entry named mytext within the form called myform within the current page (document).
The arrow symbol '' is used in these slides and in the workbook to indicate where a JavaScript statement should be typed on one line without a break. A line break in the wrong place will stop JavaScript from working.e.g.
document.write('This is my first
JavaScript Page');
should actually be typed:
document.write('This is my first JavaScript Page');
第9页
JavaScript Statements
<html>
<head><title>My Page</title></head>
<body>
<script language=“JavaScript">
document.write('<h1>This is my first
JavaScript Page</h1>');
</script>
</body>
</html>
This example demonstrates that anything included within the quotes in the document.write statement is printed to the screen, and this includes HTML tags. The tag is delivered to the browser along with the text, and the browser would interpret it as a normal HTML file, displaying the text in the Heading 1 style.
IMPORTANT NOTE:
This example shows a JavaScript statement in the of the web page.
It is possible to include JavaScript statements in the section of a web page but care must be taken that they do not try to access items that don't exist until the page has loaded (e.g. form elements, links, images). The web browser parses (reads through and executes) any script commands as it displays the page.
In most cases it is common sense that dictates where a statement should be placed.
If, in the above example, document.write was placed in the of the page, the text "This is my first JavaScript Page" would appear in the of the finished page – this would be incorrect – although modern browsers will let you get away with it!
In some circumstances you may wish to use document.write in the - for example to dynamically generate or tags. Such uses are not considered here.
JavaScript functions are typically defined in the section of a web page as they do not normally execute until they have been triggered elsewhere. The use of functions in JavaScript is covered in the Netskills Training Module: "Further JavaScript (Enhancing JavaScript with Functions and Events)"
第10页
JavaScript Statements
<html>
<head><title>My Page</title></head>
<body>
<p>
<a href="myfile.html">My Page</a>
<br />
<a href="myfile.html"
onMouseover="window.alert('Hello');">
My Page</A>
</p>
</body>
</html>
JavaScript written
inside HTML
An Event
Compare this example with the previous one. This time the JavaScript is written inside the HTML tags and there are no