Chapter 2: Variables, Functions, Objects, and Events JavaScript - Introductory Previewing the NorthAmericaImageMap.html File Section A: Working with Variables, Functions, and Events Objectives In this section, you will learn how to: • Declare and use variables • Define functions • Call functions • Use JavaScript objects • Use object inheritance and prototypes • Use object methods • About variable scope Variables • Values stored in computer memory locations are called variables • In JavaScript, use the reserved keyword var to create variables • Reserved words, or keywords, are part of the JavaScript syntax • Reserved words cannot be used for variable names • When you use the reserved word var to create a variable, you declare the variable JavaScript Reserved Words Variables • You can declare multiple variables in the same statement using a single var keyword followed by a series of variable names and assigned values separated by commas • The name assigned to a variable is an identifier • Identifiers must begin with an uppercase or lowercase ASCII letter (ex. ($) or (_) • Reserved words cannot be used for variable names, and there should be no spaces within a variable name Variables • Common practices in variable names: – Use an (_) to separate individual words – Use a lowercase letter for the first letter of first word • Variable names, like other JavaScript code, are case-sensitive Image Map Defining Functions • A function allows you to treat a related group of JavaScript statements as a single unit • Lines that compose a function within an HTML document are called the function definition • The syntax for defining a function is: function name_of_function (parameters) { statements; } • A parameter, or argument, is a variable that will be used within a function Function Definitions - Three Parts 1. The reserved word function followed by the function name. The reserved word function notifies the JavaScript interpreter that the code following is a function. As with variables,the name assigned to a function is called an identifier. The same rules and conventions that apply to variable names, apply to function names 2. Any parameters required by the function are contained within parentheses following the function name 3. The function’s statements, enclosed in curly braces { } Function That Prints Name of Multiple Companies Calling Functions • A function definition does not execute automatically • To execute a function, you must invoke, or call, it from elsewhere in the program • Sending variables or values to a called function’s arguments is called passing arguments • You are not required to return a value from a function • Using unique names to identify specific variables makes it easier to understand a program’s logic and assist in the debugging process JavaScript Function Being Called from the <BODY> Section Output of the JavaScript Function Being Called from the <BODY> Section Calling Functions • When a function performs a calculation such as an average, normally it wants to receive a return value Understanding JavaScript Objects • Objects are based on classes • Data, procedures, and other attributes are contained in a structure known as a class • A function that is used as the basis for an object is called an object definition, or constructor function • A constructor function is more like a template on which an object is based than a class • Property is a variable within a constructor function Understanding JavaScript Objects • A method is a function - whether a built-in JavaScript function or a function you create that is called from within an object • Properties are also called fields • Class names in traditional object-oriented programming languages usually begin with an uppercase letter • Objects are created from constructor functions using the new keyword • Object now has three properties: type, sound, and transport_mode Object Inheritance • Objects inherit the properties and methods of the constructor functions from which they are instantiated • Constructor functions do not require arguments • A prototype property is a built-in property that specifies the constructor from which an object was extended • Object definitions can extend other object definitions • JavaScript, however, only allows objects to inherit from a single object definition Two Object Definitions Extending Another Object Definition CompanyObjects.html Object Methods • Object methods are functions associated with a particular object • The methodName following the this reference is the name that is being assigned to the function within the object • After you instantiate an object based on object definition, call the object’s methods by adding a period Variable Scope • Variable scope refers to where in your program a declared variable can be used • A variable’s scope can be either global or local • Global variable is one that is declared outside of a function and available to all parts of the program • Local variable is declared inside a function and is only available within the function • The arguments within the parentheses of a function declaration are considered to be local variables • To declare a global variable, the use of the var keyword is optional Section A: Chapter Summary • The values stored in computer memory locations are called variables • Use the reserved word var to declare a variable • Words that are part of JavaScript language syntax are called reserved words or keywords • Before you can use a function in JavaScript program, first create, or define, the function • A parameter, or argument, is a variable that will be used within a function Section A: Chapter Summary • Sending variables or values to a called function’s arguments is called passing arguments • To return a value, include the return statement within the called function • Two types of elements are found within constructor functions: properties and methods • The this keyword refers to the current object that called the constructor function • Object definitions can extend other object definitions Section A: Chapter Summary • The prototype property is a built-in property that specifies the constructor from which an object was extended • Object methods are essentially functions associated with a particular object • The syntax for calling an object method is objectiveName.methodName (arguments); • Variable scope refers to where in your program a declared variable can be used Section B: Using Events Objectives In this section, you will learn: • About events • About HTML tags and events • How to use event handlers • About links • How to use link events • How to create an image map Understanding Events • One way JavaScript makes HTML documents dynamic is through events • An event is a specific circumstance that is monitored by JavaScript • Most common events are actions that users take JavaScript Events HTML Tags and Events • Most commonly used HTML tag that allows users to generate events is the <INPUT> tag • The <INPUT> tag creates input fields that interact with users • The <INPUT> tag has a number of attributes, including the TYPE attribute • Unlike most HTML code, the NAME attribute is case-sensitive HTML Elements and Associated Events HTML Elements and Associated Events Event Handlers • When an event occurs, a program executes JavaScript code that responds to the event • Code that executes in response to a specific event is called an event handler • Event handler names are the same as the name of the event itself • JavaScript code for event handler is contained within quotation marks following the name of the JavaScript event handler • JavaScript alert()method displays a pop up dialog box with an OK button Event Handlers • The prompt()method displays a dialog box with a message, a text box, an OK button, and a Cancel button Links • HTML documents contain hypertext links • The text or image used to represent a link in an HTML document is called an anchor • An anchor uses the Uniform Resource Locator (URL) to specify the name and location of an HTML document • Absolute URL refers to a specific drive and directory or to the full Web address of an HTML document HREF+”http://www.MyWebSite.com/index.html”>My Web Site</A>) <A HTML Document with Anchors The <SCRIPT> Tag • A relative URL specifies the location of a file according to the location of the currently loaded HTML document • Relative URLs are used to load HTML documents located on the same computer as the currently displayed HTML document Link Events • Primary event used with links is the click event • A value of true indicates that you want the Web browser to continue and open the URL referenced by the link • A value of false indicates that you do not want the Web browser to open the link • The confirmed()method displays a dialog box that contains a Cancel button and an OK button • MouseOver event occurs when the mouse is moved over a link Link with a Custom OnClick Event Handler To Create a JavaScript Document • Start your text editor or HTML editor and create a new document • Type <PRE> to start a preformatted text container • Press Enter and type <SCRIPT LANGUAGE=“JavaScript1.2”> to begin the JavaScript document • Press Enter and type document.writeIn(“This is the first line in my JavaScript file.”); • Press Enter again and type document. writeIn(“This is the second line in my JavaScript file.”); RedPage.html and the Confirm Dialog Box Creating an Image Map • An image map consists of an image that is divided into regions • Use the <IMG>, and <AREA> tags to create an image map on a Web page • A pixel (short for picture element) represents a single point on a computer screen • A VGA monitor contains 640 columns by 480 rows of pixels; Super VGA contains 1024 columns by 768 rows of pixels Creating an Image Map • To create an image map,you must include the following tags on your Web page: – An <IMG> tag that contains an SRC attribute specifying name of image and a NAME attribute specifying the name of the <MAP>…</MAP> tag pair that contains mapping coordinates – A <MAP>…</MAP> tag pair including NAME attribute used by <IMG> tag – <AREA> tags within the <MAP>…</MAP> tag pair that identify coordinates within image recognized as hot zone Pixel References Creating an Image Map • Use the <AREA> tag to define a region as a hot zone on an image map, use the SHAPE attribute to specify the shape of region, and COORDS attribute to specify coordinates of shape’s pixels • The SHAPE attribute can be set to circle, rect (for rectangle), or poly (for polygon) HTML Document with an Image Map Output of an HTML Document with an Image Map Section B: Chapter Summary • An event or trigger is a specific circumstance that is monitored by JavaScript • The <INPUT> tag, which is used for creating input fields that users interact with, generates events • An event handler name is the same as the name of the event itself, but with a prefix of on • The built-in JavaScript alert()method displays a pop up dialog box with an OK button • The prompt () method displays a dialog box with a message, a text box, a Cancel button, and an OK button Section B: Chapter Summary • There are two types of URLs in an HTML document: absolute and relative • The confirm () method displays a dialog box with a message, a Cancel button, and an OK button • The MouseOver event occurs when the mouse is moved over a link • You can use the JavaScript status property to display custom messages in the status bar • You include the USEMAP attribute to use an image map with an image rendered by the <IMG> tag