javascript an introduction. what is javascript? javascript adds “dynamic” behavior to html...

33
JavaScript An Introduction

Upload: amos-johnston

Post on 26-Dec-2015

239 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

JavaScript

An Introduction

Page 2: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

What is JavaScript?

• JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities.

• JavaScript is a predominantly "client side" scripting language used for a large variety of tasks, such as form validation, image rollovers and fly-out menus.

• JavaScript was created by Netscape, and is now the “official” client side language.

Page 3: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Where Does JavaScript Go?

• JavaScript code belongs inside HTML <script> tags.

• Inside the <script> tags, the rules of JavaScript apply. No HTML can go directly inside the script tag.

• JavaScript is embedded directly into the HTML page, usually in the <head> tag.

Page 4: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

What Does JavaScript Look Like?

The format of a typical JavaScript looks like this: <script type=“text/javascript”>

//Code goes here

</script> Notice the comment tag (//Code goes here)

inserted in the text. The double slashes indicate no code will be executed beyond that point on the line.

Page 5: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Client Side vs. Server Side

• Server side scripting is used for interaction with the user, and is frequently used to create dynamic pages by interacting with a database.

• Client side scripting is designed to run on the user's machine, and as such is cut off from the server while it is running.

• Any work that can be done on the client is best done there, as any processing there takes a load off a busy server.

Page 6: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

JavaScript Statements

• JavaScript expects us to speak to it in lines of code it understands, called “statements”

• Each JavaScript statement should go on the same “line” of text, and most end with a semi-colon:

var myAnswer = 2 + 2;

Page 7: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Browser Differences

• There are differences in how browsers are designed, and therefore differences in how JavaScript is processed.

• One such difference appears in how the document object model (DOM) is handled.

• The DOM allows us to navigate an HTML document, and make changes to the page, without reloading the page.

Page 8: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

No Errors Shown, By Design

• Because JavaScript errors are so common and disruptive to a user’s experience, most browsers elect NOT to display any JavaScript errors, by default

• In order to troubleshoot scripting errors, we use a browser like Firefox, which gives feedback on errors by selecting:

Tools >> Error Console

Page 9: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Overly Sensitive

• JavaScript is case sensitive, some say “overly” so.

• If you use a JavaScript function or variable and get even one letter in the wrong case, JavaScript will either show you an error, or will give you unexpected results

Page 10: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Data Types

• Numerical data is entered in JavaScript without quotations around it, while alphanumeric data (hereafter called string data) needs to be inserted with quotes.

• There are 3 basic types of data in JavaScript, strings, numbers and booleans.

• While the JavaScript engine is processing, it will give it's best guess as to the data type involved. In general, any number that can be used in a calculation is considered numerical. An address number, like a zip code, would be a string.

Page 11: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Numerical Data

• While strings must be quoted, numbers must not be, if they are to be calculated.

• JavaScript treats most numbers automatically, meaning there is one numerical data type

Page 12: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Strings Of Data

• In JavaScript, user data, like names or HTML look like “strings” of data that is NOT specifically meaningful to JavaScript.

• This data type is called a “string” because it is alphanumeric data that is “strung” together like beads on a chain

• Strings are required to be in quotes, either single or double quotes, but not both

Page 13: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Variables

• Variables are programming constructs that have contents inside them that ‘vary’

• Variables allow us to tailor our code to the circumstances:

var myAnswer = 2 + 2;

• In the above code, a variable named ‘myAnswer’ is declared, and it is assigned a value, the sum of 2 and 2.

Page 14: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Concatenation

• Concatenation is a programmer’s word for ‘connect’.

• When we use variables, we ‘concatenate’ data into meaningful statements:

myVar = ‘The Year is: ‘;

myVar += myDate.getFullYear();

Page 15: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Operators• JavaScript uses “operators” which allow us to make

mathematical calculations, and also to concatenate strings of data:

• var myVar = 2 + 2;

• In the above example the “plus” sign is the operator that allows us to add 2 and 2. The same operator is used to concatenate strings:

• var myName = “Bill ” + “Newman”;

• Note the “space” left after the first name. This is there so that the two words have a space between them, once they are concatenated.

Page 16: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Keywords

• Keywords are words that have special meaning in JavaScript. These words must be used in accordance to JavaScript rules and can't be used as variable or function names.

• Some common keywords are break, do, else, for, this, true, false, if, var, void, null, return, while, function, in and switch.

• If we are tempted to use a word that logically is very close to a keyword, the suggestion is to attach the prefix "my" to it, ie: myFunction.

Page 17: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Read Right To Left

• Isn’t it odd that the statements read right to left?

var myVar = 2 + 2;

• This is because the most important part of the statement (the sum, if it’s math) is easier to scan this way in a long program.

Page 18: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

JavaScript Functions

• JavaScript has several built in “functions” which allow us to perform actions automatically by calling the name of the function, and supplying some data. Here is a very common function, called “alert()”.

alert(‘Here is a message that pops up!’);

• Note the function includes a “string” of data, that is a message to a user

Page 19: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Anatomy Of A Function

• For a function to “function” certain rules must be followed:

• Functions all require parenthesis:

alert(“message here”);

• Sometimes they require “data” inserted inside the parenthesis. In this case, the “string” of text saying, “message here”.

Page 20: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Booleans

• Boolean data gets its name from the Mathematician George Boole

• Boolean data consists of logic types. For us, that would be the values true and false

• Boolean data, like numerical data, does NOT use quotation marks

• Booleans (true or false) are always lower case

If(x == true){alert(“It’s true!!”);}

Page 21: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Equal? NOT!

• An important operator, often associated with Booleans, is the NOT operator, symbolized by the exclamation mark “!”

• The “not” operator is used with the equal sign to create “not equal”, which is the same as false:

If(x != true){alert(“That would be false!”);}

Page 22: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Late Binding

• JavaScript reads and processes statements one at a time.

• JavaScript makes assumptions about the code it sees, since it processes data on the fly.

• If it sees numbers that are not quoted, it tries to calculate them.

• If it sees numbers that are quoted, it tries to connect, or concatenate them

Page 23: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Curly Braces

• Curly braces (the “{“ and the “}” signs) are required to let JavaScript know where to start and stop.

• These are required when you build your own functions, and for if statements, for example:

if(x == y){alert(“x equals y!”);}

Page 24: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Conditionals

• JavaScript allows us to do different things according to different circumstances

• We do this as people, when we say:

If it rains, bring an umbrella. Otherwise, bring shorts.

• A ‘conditional’ is a statement that allows us to determine what happens “if” something occurs

Page 25: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

If Statement

• Here is a sample ‘If’ statement:

If(x == y)

{

alert(“I guess x equals y!”);

}

The “double equal” is the operator that checks for equality. If the variables x and y are equivalent, then the alert displays

Page 26: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Assignment vs. Comparison• The “equals” sign carries special significance in

JavaScript• To “compare” data, we need to use the “double” equal:

if(x == y){alert(“x equals y!”);}

• To “assign” data, we use a single equal sign:

var myVar = 2 + 2;var myName = “Bill “ + “Newman”;

• Both of these examples “assign” data to the variable on the left.

Page 27: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Custom Message Based On Date

The sample below accesses the date object on the user’s machine, and displays an “alert()” message, if it’s noon, or later:

var myDate = new Date();

If(myDate.getHour() > 12)

{

alert(‘It’s after Noon!’);

}

Page 28: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

JavaScript Objects

• JavaScript uses “objects” to allow us to access resources like the “date” on the system clock of the user’s machine:

var myDate = new Date();

• We need to create an ‘instance’ (example) of a date object in order to use it further. This allows us to work with different date objects at once.

Page 29: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

The Date Object

• Users come to our website from different parts of the world

• Accessing the user’s system clock is useful for tailoring a user’s experience to their time of day

• What if you wanted to show a custom image or message based on the time of day of the user? JavaScript does this.

Page 30: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Document Object Model (DOM)

• Document Object Model: The elements that make up an HTML document can be put to various purposes by JavaScript. 

• The way that an HTML document is navigated is by a structure called the Document Object Model (DOM). 

• The DOM allows us to read down to a part of an HTML document and either read or change data. 

• You can call out the object by it's exact name, or by climbing the DOM "tree" elements sequentially.

Page 31: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

The Navigator Object

• JavaScript can determine information about what browser is being used. This is useful for tailoring HTML for a specific browser:

var myBrowser = navigator.appName();

alert(“Your browser is: “ + myBrowser);

Page 32: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Event Handlers

• Events are occurrences on an HTML page, like a “page load” or the actions by the user, like mouse clicks and mouse hovers, etc.

• Events can be “captured” and used as a trigger for actions taken by JavaScript.

• The mouse clicks and mouse hovers, etc. are called "events", and the JavaScript "handles" or reacts to the actions of the user, hence the phrase "event handler".

Page 33: JavaScript An Introduction. What is JavaScript? JavaScript adds “dynamic” behavior to HTML pages, adding programming capabilities. JavaScript is a predominantly

Rollovers

• The most common kind of event handler is a “rollover", where an image is "swapped out" (changed) when a user hovers the mouse over an image.

• The simple "mouse over" example code below simply (although inefficiently) handles a mouse over event:

• <a href="mypage.htm" onMouseOver="document.myImage.src='images/on.gif'" onMouseOut="document.myImage.src='images/off.gif'"><img src="images/on.gif" name="myImage"><a/>

• The above example uses the “document” object model to identify an object by name, in this case an image named “myImage”