47
JavaScript CMPT 281

JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Embed Size (px)

Citation preview

Page 1: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

JavaScript

CMPT 281

Page 2: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Outline

• Introduction to JavaScript• Resources• What is JavaScript?• JavaScript in web pages

Page 3: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Announcements

Page 4: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Assignment 3

• Layout with tables

Page 5: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

JavaScript Resources

Page 6: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Resources

Page 7: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Why JavaScript?

Page 8: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

HTML + CSS + JavaScript

Page 9: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Separation of Concerns

Page 10: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Separation of Concerns

Page 11: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

What is Javascript?

Page 12: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

What is Javascript?

• A scripting programming language– Cannot be run without a browser– Embedded in most web browsers

• A way to create web pages that respond dynamically to user action

• A tool for server-side development

Page 13: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Types of computer languages

• High-Level vs. Low Level• Compiled vs. Interpreted• Structured vs. Object Oriented• Scripting vs. Programming

Page 14: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

JavaScript

• High-Level vs. Low Level• Compiled vs. Interpreted• Structured vs. Object Oriented• Scripting vs. Programming

Page 15: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

History

• Need for ‘client side’ interaction– Code executes on the local machine– No need for network connection once script runs

• Developed by Netscape in 1995– (Not related to the Java Language)

• Actually ECMAScript (ECMA-262)– en.wikipedia.org/wiki/ECMAScript– Several variants (JScript, Action Script…)

Page 16: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

What can JavaScript do?

• It is a full programming language– API (application programming interface) is specific

to working with browsers• Restrictions:– Security-based limitations• No networking• No access to local file system

– Limited UI toolkit and graphics• (This is changing with HTML5)

Page 17: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

What can JavaScript do?

• Benefits:– Close integration with the browser• Access the webpage and all elements within• Adjust or create HTML• Open and resize browser windows• Run animations, play sounds

Page 18: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Example: writing to the page

Page 19: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Example: loading a random image

Page 20: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Where do scripts go?

• In the HMTL page• Like styles, can be external, internal, or inline– Use these for different situations

Page 21: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Where do scripts go?

• For scripts that respond to user events, and for functions:– Either external or internal– In <head>…</head>

• For scripts that write document content:– In <body>…</body>

Page 22: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Body example<html><head></head>

<body>

<script type="text/javascript">document.write("This message written by JavaScript");</script>

</body></html>

Page 23: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Internal example<html><head><script type="text/javascript">function message(){ alert("This alert was called with the onload event");}</script></head>

<body onload="message()"></body></html

Page 24: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

External example<html><head> <script type="text/javascript" src="xyz.js"></script></head><body></body></html>

Page 25: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

How does JS access the page?

• DOM: Document Object Model– A framework to describe a web page (document)

in a tree-like structure

Page 26: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

DOM

Page 27: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

DOM

Page 28: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Using the DOM to get at the page<html><body>

<p id="intro">Hello World!</p>

<script type="text/javascript">x=document.getElementById("intro");document.write(x.firstChild.nodeValue);</script>

</body></html>

Page 29: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Using the DOM to get at the page<html><body>

<p id="intro">Hello World!</p>

<script type="text/javascript">x=document.getElementById("intro");document.write(x.firstChild.nodeValue);</script>

</body></html>

Page 30: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

JavaScript Basics

Page 31: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

JavaScript Basics

• Statements• Variables• Events• Functions• Dialogs

Page 32: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Statements<script type="text/javascript">

var a = 10;var b = 11;var c;c = a + b;alert(‘The answer is’ + c);

</script>

Page 33: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

JavaScript Variables

• Variables are used to store data. • Rules for variable names:– Variable names are case sensitive – They must begin with a letter or the underscore

character • strname – STRNAME (not same)

Page 34: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

JavaScript Variables

• Variables: containers for data– All variables have • Name• Type – JavaScript is loosely typed• Value or “null”• To declare a variable

– var variableName

• Beware of reserved words:– E.g., ‘if’, ‘Document’, ‘Math’, etc.

Page 35: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

JavaScript Operators

• Arithmetic Operators Operator Description Example Result

+ Addition x=2 4

y=2

x+y

- Subtraction x=5 3

y=2

x-y

* Multiplication x=5 20

y=4

x*y

/ Division 15/5 3

5/2 2,5

% Modulus (division remainder)

5%2 1

10%8 2

10%2 0

++ Increment x=5 x=6

x++

-- Decrement x=5 x=4

x--

Page 36: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

JavaScript Operators

• Assignment Operators Operator Example Is The Same As

= x=y x=y

+= x+=y x=x+y

-= x-=y x=x-y

*= x*=y x=x*y

/= x/=y x=x/y

%= x%=y x=x%y

Page 37: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

JavaScript Operators

• Comparison Operators

Operator Description Example

== is equal to 5==8 returns false

=== is equal to (checks for both value and type)

x=5

y="5"

 

x==y returns true

x===y returns false

!= is not equal 5!=8 returns true

> is greater than 5>8 returns false

< is less than 5<8 returns true

>= is greater than or equal to

5>=8 returns false

<= is less than or equal to 5<=8 returns true

Page 38: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

JavaScript Operators

• Logical OperatorsOperator Description Example

&& and x=6

y=3

 

(x < 10 && y > 1) returns true

|| or x=6

y=3

 

(x==5 || y==5) returns false

! not x=6

y=3

 

!(x==y) returns true

Page 39: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

User and Browser Events

Page 40: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Functions<script type=“text/javascript”>function dontClick() { alert("I told you not to click!");}</script>...

<input type="button" value="Don't Click Me!" onClick="dontClick()"/>

Page 41: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Dialogs• alert("Hello!");• confirm("Delete files?");• var name=prompt("Your name?", "Tim Berners-Lee");

Page 42: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Coding Tips

• Check your statements are on one line• Check your " and ' quotes match• Take care with capitalisation• Lay it out neatly - use tabs• Use the Chrome developer tools– Or Firebug for Firefox

Page 43: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

A Word About Comments

• JavaScript Comments– These comments must be within a script– // begins a single line comment

• These can start anywhere on the line, but the remainder of the line becomes a comment

– /* All of your comments here… */• Everything between the start and end comment markers are

comments• Can be on a single line or span many…

• HTML Comments– <!-- All of your comments here… -->

Page 44: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Ending Statements With a Semicolon?

• With traditional programming languages, like C++ and Java, each code statement has to end with a semicolon (;).

• Many programmers continue this habit when writing JavaScript, but in general, semicolons are optional!

• Semicolons are required if you want to put more than one statement on a single line.

Page 45: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Example

Page 46: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

JavaScript LibrariesPrototype www.prototypejs.org/ script.aculo.us script.aculo.us/ Yahoo! User Interface Library developer.yahoo.com/yui/ Dojo dojotoolkit.org/ jQuery jquery.com/ MooTools mootools.net/

Page 47: JavaScript CMPT 281. Outline Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Reminders for this week

• Do the JavaScript tutorials on w3schools:– 'JS Basic‘: www.w3schools.com/js/

• Assignment• Reading:– Pattern group I: Designing Effective Page Layouts• Pages 631-657