SlideShare a Scribd company logo
JavaScript
What is JavaScript?
• Client side interpreted embedded programming language
used to enhance websites
• No relation to Java
• Can manipulate HTML
• Event driven
To use or not to use
• Helpful for:
o Dynamic content
o Adding logic to HTML
o Make changes without refreshing the page
o Form validation
o Ease processing on server
• Not helpful for:
o Accessing resources
o Do anything that requires privacy
 JavaScript is shown publicly
Adding JavaScript to HTML
• Inline:
o <script language="javascript"> code </script>
• External:
o <script language="javascript" src="code.js" />
• Typically this is placed in between the <head> tags
• Case sensitive (unlike HTML)
Variables
• Variables are untyped
o No need to declare type (int, bool, etc)
o Doesn't care about type until called
• Example:
o var name = "Andrew";
o var num = 24;
o var name = num;
o name will now return 24
Arrays
• Strings are arrays
o var x = "Andrew"; x[3] returns "r"
• Array is also it's own data structure and doesn't require
all items to be of the same type.
o var x = new Array();
 x[0] = "Rawr";
 x[1] = 9001;
o var x = new Array("Rawr", 9001);
o var x = ["Rawr", 9001];
• Arrays have a length:
o x.length
If..Else / Switch
• Similar to what you'd expect
o if (<condition>) { code }
o if (<condition>) { code } else { more }
o if (<condition>) { code } else if { more } else { finally }
switch (<variable>) {
case <match>:
code
break;
case <match2>:
break;
default:
}
Loops
• For:
o for (<var>; <condition>; <do>) { code }
o for (<var> in <list>) { code }
• While:
o while (<condition>) { code }
o do { code } while (<condition>);
• break and continue work as expected
Functions
• Similar to any other languages' functions and methods
• Can have nested functions
o Variables have scope similar to nested loops
• Used by events
o Runs only when called
• Example:
o function <name> (<parameters>) { code }
Popups
• Used for displaying information to the user outside of
the page.
o Typically as a warning or when an error has occured
o Ask user for additional information
o Confirmation
• alert(<text>); - Exits via an okay button
• confirm(<text>); - Returns true or false (ok or cancel)
• prompt(<text>, <default>); - Returns user's input
Try it
Create your own html file and using a text editor create.
• Create an Array
• Create a function that:
o Use a for loop to loop through the array
o Print the contents of each element using
document.write();
o Use a prompt() to ask for a username
o Using an if statement, take the input and if it is 4
characters long, print "Yes", else print "No".
• Use <body onload="f()"> to execute function on page load
Exceptions and Try/Catch
• Exceptions are easily thrown in a function by adding the
following line. This will exit the function, returning the
exception text.
o throw <text>;
 Example: throw "Error1";
• Try/Catch is as expected:
o try { code } catch (<error>) { more }
Document Object Model (DOM)
• Standard way to access/manipulate HTML documents
• Hierarchy of objects in HTML
• Examples of objects:
o window, location, document, anchors, body
o images, forms, elements, tables
• Code example:
o document.write("<b>This</b> is displayed.");
Cookies
• Stored in text file on client
• Can store multiple values (";" delimited)
• Limited
o 300 per browser
o 20 per web server
o 4KB per cookie
• Default: Read only by originating webpage
o Can be read by others using:
 path - multiple sites
 domain - multiple servers
• Remove by setting the expiration to current time or a
past time.
Cookies (cont)
Example:
document.cookie("username=Andrew;expires=2011-01-11");
var aCookie = document.cookie;
var items = aCookie.split(";");
var expires = items[1].split("=")[1];
• The use of split returns an array of substrings
• After the first go we have "username=Andrew" and "expires=2011-
01-11"
• After the second go we have "expires" and "2011-01-11"
• The variable "expires" now equals "2011-01-11"
Date()
• Date
(); returns the current date.
• Date(<milliseconds>); returns the date since 1970/01/01
• Date(<date_string>); returns date given by string
• Date(y,m,d,h,m,s,ms); returns the date based on which
variables are filled in
o Date(2011, 6, 17); = 6/17/2011
o Date(2011, 6, 17, 13, 5); = 6/17/2011 13:05
Try it
Goto:
http://www.w3schools.com/js/tryit.asp?filename=tryjs_coo
kie_username
• Look at the code to create a cookie.
• In your browser go to where your cookies are stored.
• Find the "username" cookie for www.w3schools.com
• Notice the fields and when it expires.
• Try running the code again
o The cookie hasn't expired yet!
Math
• JavaScript has it's own math functions built in
o abs(x), random(x), round(x), sin(x), etc
• Also has constants defined
o PI, E, LN2, LOG10E, SQRT2
• To access these, just call Math then the
function/constant directly
o Math.abs(x)
o Math.PI
Stand back...I know RegEx
• JavaScript also has an easy way of doing regular
expressions
• There is the functional way:
o var pattern = new RegEx(<pattern>, <modifiers>);
• Or a simplified way:
o var pattern = /<pattern>/modifiers;
• Use test() with RegEx to see if a string matches:
o pattern.test("Hey there");
 Will return true or false
• User exec() to find a matching string and return the results.
Objects
• Similar to classes in other languages
o Can have variables and methods
• var myObject = new Object();
o myObject.name = "Andrew";
o myObject.number = 42;
• var myObject = {name: "Andrew", number: 42};
o myObject.tired = "Yes"
Objects - Functions
• Functions can create objects, effectively being
constructors.
function dude (name, age) {
this.name = name;
this.age = age;
}
dude.setAge = function (x) { this.age = x; };
var guy = new dude("Andrew", 24);
guy.setAge(42)
Objects - Singletons
If an object will only exist in a single instance, you can do
the following:
var myObject = {firstmethod: function (x,y) { code} };
myObject.firstmethod(5,"A");
Try it
In an HTML file:
• Create an object with a few variables
o one contains a string
o one contains a number
o one contains a function
• In the function, use alert(); to display the object's
string
• Using the "for...in" loop, print each of the object's
variable name, alongside with the value.
o for (x in obj) { print x : obj[x] } //Pseudo code
• Call the object's function
Asynchronous JavaScript and XML
• Fast and Dynamic web pages
• Perform behind the scenes to update portions of a
webpage without having to reload the whole page.
• Based on:
o XMLHttpRequest object - communicate with server
o JavaScript/DOM - display/manipulate information
o CSS - Style it to make it look nice
o XML - Format data for transfering
AJAX - XMLHttpRequest
• Create object
o var xmlrequest = new XMLHttpRequest();
• Send a request
o open(httpMethod, targetURL, async);
 xmlrequest.open("GET", "example.asp", true);
o send();
 xmlrequest.send();
XMLHttpRequest - GET
• Simple, fast, good for cached data.
• Simple:
o open("GET", "demo.asp", true)
o Can return cached data
• Fresh:
o open("GET", "demo.asp?t="+Math.random(), true)
o Unique id prevents cached data from appearing
• Send information:
o open("GET", "demo.asp?username=Andrew&age=24",
true)
XMLHttpRequest - POST
• For database accessing, sending large amounts of data, can't
work with caching, need for security/robust transfer
• Simple:
o open("POST", "demo.asp", true)
• Send form information:
o open("POST", "demo.asp", true)
o setRequestHeader("Content-type", "application/x-
www-form-urlencoded")
o send("name=Andrew&age=24");
XMLHttpRequest - Server Response
• If response is not XML
o request.responseText
o Returns the text from the server
• If it is XML
o request.responseXML
o Returns an XML file from the server
o Probably will need to be parsed and then use
AJAX - readyState
• Holds the status of the XMLHttpRequest object
• Perform actions based on the readyState
• onreadystatechange even is triggered when readyState
changes
• onreadystatechange stores a defined function to occur
and process the readyState upon change
AJAX - readyState (cont)
• readyState statuses:
o 0: request not initialized
o 1: server connection established
o 2: request received
o 3: processing request
o 4: request finished and response is ready
• status:
o 200 = "OK"
o 404 = Page not found
The End

More Related Content

ODP
CSS Basics
PPT
Html tag
PDF
JavaScript - Chapter 8 - Objects
PPT
Introduction to JavaScript (1).ppt
PDF
Intro to HTML and CSS basics
PPT
Html basics
PPTX
Css ppt
PPTX
HTML Fundamentals
CSS Basics
Html tag
JavaScript - Chapter 8 - Objects
Introduction to JavaScript (1).ppt
Intro to HTML and CSS basics
Html basics
Css ppt
HTML Fundamentals

What's hot (20)

PPTX
HTML and CSS Week 1 Lecture 1.pptx
PPTX
PDF
Introduction to HTML and CSS
ODP
Introduction to css & its attributes with syntax
PDF
HTML5: features with examples
PPT
Cascading Style Sheets (CSS) help
PPTX
Lecture 2 introduction to html
PPTX
HTML (Web) basics for a beginner
PDF
05 Introduccion a HTML
PDF
JavaScript Programming
PDF
Aem dispatcher – tips & tricks
PPT
Html Slide Part-1
PPTX
Cascading Style Sheet
PPT
JavaScript - An Introduction
PPTX
PPTX
Why TypeScript?
PDF
Javascript basics
PDF
Basic Details of HTML and CSS.pdf
PPT
Html & Css presentation
HTML and CSS Week 1 Lecture 1.pptx
Introduction to HTML and CSS
Introduction to css & its attributes with syntax
HTML5: features with examples
Cascading Style Sheets (CSS) help
Lecture 2 introduction to html
HTML (Web) basics for a beginner
05 Introduccion a HTML
JavaScript Programming
Aem dispatcher – tips & tricks
Html Slide Part-1
Cascading Style Sheet
JavaScript - An Introduction
Why TypeScript?
Javascript basics
Basic Details of HTML and CSS.pdf
Html & Css presentation
Ad

Similar to Java script (20)

PPTX
BITM3730Week6.pptx
PPTX
BITM3730 10-4.pptx
PPTX
BITM3730 10-3.pptx
PPT
lecture 6 javascript event and event handling.ppt
PPTX
javaScript and jQuery
PPTX
Getting Started with Javascript
PDF
Introduction to web programming with JavaScript
PPTX
MTA animations graphics_accessing data
PPTX
Javascript note for engineering notes.pptx
PPTX
JavascriptCOmpleteGuideCourseFromZero.pptx
PPT
Reversing JavaScript
PPTX
Learning About JavaScript (…and its little buddy, JQuery!)
PDF
Training javascript 2012 hcmut
PDF
HSC INFORMATION TECHNOLOGY CHAPTER 3 ADVANCED JAVASCRIPT
PPTX
01 Introduction - JavaScript Development
PPT
JavaScript Tutorial
PPTX
MYSQL DATABASE INTRODUCTION TO JAVASCRIPT.pptx
PPTX
JavaScript!
PPTX
Java Script basics and DOM
BITM3730Week6.pptx
BITM3730 10-4.pptx
BITM3730 10-3.pptx
lecture 6 javascript event and event handling.ppt
javaScript and jQuery
Getting Started with Javascript
Introduction to web programming with JavaScript
MTA animations graphics_accessing data
Javascript note for engineering notes.pptx
JavascriptCOmpleteGuideCourseFromZero.pptx
Reversing JavaScript
Learning About JavaScript (…and its little buddy, JQuery!)
Training javascript 2012 hcmut
HSC INFORMATION TECHNOLOGY CHAPTER 3 ADVANCED JAVASCRIPT
01 Introduction - JavaScript Development
JavaScript Tutorial
MYSQL DATABASE INTRODUCTION TO JAVASCRIPT.pptx
JavaScript!
Java Script basics and DOM
Ad

More from vishal choudhary (20)

PPTX
mobile application using automatin using node ja java on
PPTX
mobile development using node js and java
PPTX
Pixel to Percentage conversion Convert left and right padding of a div to per...
PPTX
esponsive web design means that your website (
PPTX
function in php using like three type of function
PPTX
data base connectivity in php using msql database
PPTX
software evelopment life cycle model and example of water fall model
PPTX
software Engineering lecture on development life cycle
PPTX
strings in php how to use different data types in string
PPTX
OPEN SOURCE WEB APPLICATION DEVELOPMENT question
PPTX
web performnace optimization using css minification
PPTX
web performance optimization using style
PPTX
Data types and variables in php for writing and databse
PPTX
Data types and variables in php for writing
PPTX
Data types and variables in php for writing
PPTX
sofwtare standard for test plan it execution
PPTX
Software test policy and test plan in development
PPTX
function in php like control loop and its uses
PPTX
introduction to php and its uses in daily
PPTX
data type in php and its introduction to use
mobile application using automatin using node ja java on
mobile development using node js and java
Pixel to Percentage conversion Convert left and right padding of a div to per...
esponsive web design means that your website (
function in php using like three type of function
data base connectivity in php using msql database
software evelopment life cycle model and example of water fall model
software Engineering lecture on development life cycle
strings in php how to use different data types in string
OPEN SOURCE WEB APPLICATION DEVELOPMENT question
web performnace optimization using css minification
web performance optimization using style
Data types and variables in php for writing and databse
Data types and variables in php for writing
Data types and variables in php for writing
sofwtare standard for test plan it execution
Software test policy and test plan in development
function in php like control loop and its uses
introduction to php and its uses in daily
data type in php and its introduction to use

Recently uploaded (20)

PDF
01-Introduction-to-Information-Management.pdf
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
Lesson notes of climatology university.
PDF
Weekly quiz Compilation Jan -July 25.pdf
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PPTX
Pharma ospi slides which help in ospi learning
PDF
Computing-Curriculum for Schools in Ghana
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
RMMM.pdf make it easy to upload and study
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
01-Introduction-to-Information-Management.pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
Chinmaya Tiranga quiz Grand Finale.pdf
Final Presentation General Medicine 03-08-2024.pptx
Supply Chain Operations Speaking Notes -ICLT Program
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
Lesson notes of climatology university.
Weekly quiz Compilation Jan -July 25.pdf
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Pharma ospi slides which help in ospi learning
Computing-Curriculum for Schools in Ghana
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
RMMM.pdf make it easy to upload and study
Final Presentation General Medicine 03-08-2024.pptx
human mycosis Human fungal infections are called human mycosis..pptx
VCE English Exam - Section C Student Revision Booklet
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx

Java script

  • 2. What is JavaScript? • Client side interpreted embedded programming language used to enhance websites • No relation to Java • Can manipulate HTML • Event driven
  • 3. To use or not to use • Helpful for: o Dynamic content o Adding logic to HTML o Make changes without refreshing the page o Form validation o Ease processing on server • Not helpful for: o Accessing resources o Do anything that requires privacy  JavaScript is shown publicly
  • 4. Adding JavaScript to HTML • Inline: o <script language="javascript"> code </script> • External: o <script language="javascript" src="code.js" /> • Typically this is placed in between the <head> tags • Case sensitive (unlike HTML)
  • 5. Variables • Variables are untyped o No need to declare type (int, bool, etc) o Doesn't care about type until called • Example: o var name = "Andrew"; o var num = 24; o var name = num; o name will now return 24
  • 6. Arrays • Strings are arrays o var x = "Andrew"; x[3] returns "r" • Array is also it's own data structure and doesn't require all items to be of the same type. o var x = new Array();  x[0] = "Rawr";  x[1] = 9001; o var x = new Array("Rawr", 9001); o var x = ["Rawr", 9001]; • Arrays have a length: o x.length
  • 7. If..Else / Switch • Similar to what you'd expect o if (<condition>) { code } o if (<condition>) { code } else { more } o if (<condition>) { code } else if { more } else { finally } switch (<variable>) { case <match>: code break; case <match2>: break; default: }
  • 8. Loops • For: o for (<var>; <condition>; <do>) { code } o for (<var> in <list>) { code } • While: o while (<condition>) { code } o do { code } while (<condition>); • break and continue work as expected
  • 9. Functions • Similar to any other languages' functions and methods • Can have nested functions o Variables have scope similar to nested loops • Used by events o Runs only when called • Example: o function <name> (<parameters>) { code }
  • 10. Popups • Used for displaying information to the user outside of the page. o Typically as a warning or when an error has occured o Ask user for additional information o Confirmation • alert(<text>); - Exits via an okay button • confirm(<text>); - Returns true or false (ok or cancel) • prompt(<text>, <default>); - Returns user's input
  • 11. Try it Create your own html file and using a text editor create. • Create an Array • Create a function that: o Use a for loop to loop through the array o Print the contents of each element using document.write(); o Use a prompt() to ask for a username o Using an if statement, take the input and if it is 4 characters long, print "Yes", else print "No". • Use <body onload="f()"> to execute function on page load
  • 12. Exceptions and Try/Catch • Exceptions are easily thrown in a function by adding the following line. This will exit the function, returning the exception text. o throw <text>;  Example: throw "Error1"; • Try/Catch is as expected: o try { code } catch (<error>) { more }
  • 13. Document Object Model (DOM) • Standard way to access/manipulate HTML documents • Hierarchy of objects in HTML • Examples of objects: o window, location, document, anchors, body o images, forms, elements, tables • Code example: o document.write("<b>This</b> is displayed.");
  • 14. Cookies • Stored in text file on client • Can store multiple values (";" delimited) • Limited o 300 per browser o 20 per web server o 4KB per cookie • Default: Read only by originating webpage o Can be read by others using:  path - multiple sites  domain - multiple servers • Remove by setting the expiration to current time or a past time.
  • 15. Cookies (cont) Example: document.cookie("username=Andrew;expires=2011-01-11"); var aCookie = document.cookie; var items = aCookie.split(";"); var expires = items[1].split("=")[1]; • The use of split returns an array of substrings • After the first go we have "username=Andrew" and "expires=2011- 01-11" • After the second go we have "expires" and "2011-01-11" • The variable "expires" now equals "2011-01-11"
  • 16. Date() • Date (); returns the current date. • Date(<milliseconds>); returns the date since 1970/01/01 • Date(<date_string>); returns date given by string • Date(y,m,d,h,m,s,ms); returns the date based on which variables are filled in o Date(2011, 6, 17); = 6/17/2011 o Date(2011, 6, 17, 13, 5); = 6/17/2011 13:05
  • 17. Try it Goto: http://www.w3schools.com/js/tryit.asp?filename=tryjs_coo kie_username • Look at the code to create a cookie. • In your browser go to where your cookies are stored. • Find the "username" cookie for www.w3schools.com • Notice the fields and when it expires. • Try running the code again o The cookie hasn't expired yet!
  • 18. Math • JavaScript has it's own math functions built in o abs(x), random(x), round(x), sin(x), etc • Also has constants defined o PI, E, LN2, LOG10E, SQRT2 • To access these, just call Math then the function/constant directly o Math.abs(x) o Math.PI
  • 19. Stand back...I know RegEx • JavaScript also has an easy way of doing regular expressions • There is the functional way: o var pattern = new RegEx(<pattern>, <modifiers>); • Or a simplified way: o var pattern = /<pattern>/modifiers; • Use test() with RegEx to see if a string matches: o pattern.test("Hey there");  Will return true or false • User exec() to find a matching string and return the results.
  • 20. Objects • Similar to classes in other languages o Can have variables and methods • var myObject = new Object(); o myObject.name = "Andrew"; o myObject.number = 42; • var myObject = {name: "Andrew", number: 42}; o myObject.tired = "Yes"
  • 21. Objects - Functions • Functions can create objects, effectively being constructors. function dude (name, age) { this.name = name; this.age = age; } dude.setAge = function (x) { this.age = x; }; var guy = new dude("Andrew", 24); guy.setAge(42)
  • 22. Objects - Singletons If an object will only exist in a single instance, you can do the following: var myObject = {firstmethod: function (x,y) { code} }; myObject.firstmethod(5,"A");
  • 23. Try it In an HTML file: • Create an object with a few variables o one contains a string o one contains a number o one contains a function • In the function, use alert(); to display the object's string • Using the "for...in" loop, print each of the object's variable name, alongside with the value. o for (x in obj) { print x : obj[x] } //Pseudo code • Call the object's function
  • 24. Asynchronous JavaScript and XML • Fast and Dynamic web pages • Perform behind the scenes to update portions of a webpage without having to reload the whole page. • Based on: o XMLHttpRequest object - communicate with server o JavaScript/DOM - display/manipulate information o CSS - Style it to make it look nice o XML - Format data for transfering
  • 25. AJAX - XMLHttpRequest • Create object o var xmlrequest = new XMLHttpRequest(); • Send a request o open(httpMethod, targetURL, async);  xmlrequest.open("GET", "example.asp", true); o send();  xmlrequest.send();
  • 26. XMLHttpRequest - GET • Simple, fast, good for cached data. • Simple: o open("GET", "demo.asp", true) o Can return cached data • Fresh: o open("GET", "demo.asp?t="+Math.random(), true) o Unique id prevents cached data from appearing • Send information: o open("GET", "demo.asp?username=Andrew&age=24", true)
  • 27. XMLHttpRequest - POST • For database accessing, sending large amounts of data, can't work with caching, need for security/robust transfer • Simple: o open("POST", "demo.asp", true) • Send form information: o open("POST", "demo.asp", true) o setRequestHeader("Content-type", "application/x- www-form-urlencoded") o send("name=Andrew&age=24");
  • 28. XMLHttpRequest - Server Response • If response is not XML o request.responseText o Returns the text from the server • If it is XML o request.responseXML o Returns an XML file from the server o Probably will need to be parsed and then use
  • 29. AJAX - readyState • Holds the status of the XMLHttpRequest object • Perform actions based on the readyState • onreadystatechange even is triggered when readyState changes • onreadystatechange stores a defined function to occur and process the readyState upon change
  • 30. AJAX - readyState (cont) • readyState statuses: o 0: request not initialized o 1: server connection established o 2: request received o 3: processing request o 4: request finished and response is ready • status: o 200 = "OK" o 404 = Page not found