SlideShare a Scribd company logo
Javascript




    Introduction

      by Amit Tyagi
What Is JavaScript?

   Executes in Host Environment ( mostly
    Browser).
   Interpreted language.
   Major use cases are:
    a.          making web pages dynamic (animations,
         RICH UI)
    b.         form validation
    c.         background communication with server
         (AJAX) etc.
    d.   ….
History

   Initially LiveScript from Netscape.
   JScript from Microsoft.
   ECMA introduced ECMAScript for
    standardized Scripting language.
   Current Version is 5.1 of ECMA-262.
The Core (ECMAScript)

    ECMA-262 describes it like this:
    “ECMAScript can provide core scripting capabilities
    for a variety of host environments, and therefore the
    core scripting language is specified...apart from any
    particular host environment.”
                         ECMAScript
                                |
                ----------------------------------------
                |                 |                   |
            JavaScript              Actionscript        ScriptEase
The Document Object Model (DOM)

   The Document Object Model (DOM) is an
    application programming interface (API) for
    HTML as well as XML.
DOM

<html>
   <head>
          <title>Sample Page</
   title>
   </head>
   <body>
          <p>Hello World!</p>
   </body>
</html>
The Browser Object Model (BOM)

   BOM deals with the browser window and
    frames.
   All function and properties starting inside
    window object.
   Internet Explorer extends the BOM to include
    the ActiveXObject class, which can be used
    to instantiate ActiveX objects through
    JavaScript.
Browser Object Model (BOM)
DOM and JS World
How to include JS in a web page

Inside <script> tags
       <script>
              var a = 10;
              alert(a);
       </script>
Within external file
       <script src=“page.js“
type=“text/javascript” ></script>
Javascript Basics
Syntax

   Mostly like C and java.
   Everything is case-sensitive.
   Variables are loosely typed.
   End-of-line semicolons are optional.
   Comments are the same as in Java, C, and
    Perl.
Variables

   var test = "hi“, test2, $number;
   Variable declaration is optional.
Keywords

break      else         new      var
case       finally      return   void
catch      for          switch   while
continue   function     this     with
default    if           throw
delete     in           try
do         instanceof   typeof
Reserved Words

abstract   enum         int         short
boolean    export       interface   static
byte       extends      long        super
char       final        native      synchronized
class      float        package     throws
const      goto         private     transient
debugger   implements   protected   volatile
double     import       public
Statements

   The if statement
     –    if (condition) statement1 else statement2
   do-while
     –    do { statements } while (condition )
   While
     –    while (condition) { statements}
   for
     –    for (initialization; condition; post-loop-expression)
           { statements}
   for-in
           for (property in expression) {statements}
Data types

   Primitive values

   Reference values
Primitive values

   undefined
   null
   boolean
   number
   string

Use typeof keyword to check type of variable.
Reference Types

   Classes or Object
   The Object class – similar to java.lang.Object
        var car = new Object();

Or
        var myClass = function(){};
        var myObject = new myClass();

Or JSON way
     var myObject = {};
Memory Allocation
Classes and objects in
javascript

   No class keyword available, instead
    constructor function works as class definition.
   Classes and objects are dynamic, can be
    altered at runtime.
Builtin Objects


Object        Function    Array        String
Boolean       Number      Date         RegExp
Error         EvalError   RangeError   ReferenceError
SyntaxError   TypeError   URIError
Function defination

     function showInfo(a) {
          alert(a);
     }

     var showInfo = function(a)
{ alert(a);}

     var showInfo = new Function(“a”,
“alert(a)”);
Functions ( contd.)

   Functions are also object, in fact everything
    is an object in JavaScript
   Functions can return any data type,
    ‘undefined’ if none specified.
Functions scope

By default in window scope
this points to current object’s scope, defaults
to window

Can be altered using call and apply method
     func.call(any_scope, [arg1,
arg2, ..]);
     func.apply(any_scope, arg1,
arg2,..);
Using function as Class

var Policy = function(name) {
                  this.policyName = name;
            }
var pol1 = new Policy(“AccessPolicy”);
var pol2 = new Policy(“AuthenticationPolicy”);

console.log(pol1.policyName); // AccessPolicy
console.log(pol2.policyName); //
AuthenticationPolicy
Variables scope

1.   Start from local scope and ends till global
     scope.
function closures
Prototype property

Every function has a prototype property
Every object’s scope chain fall backs to constructor
function’s prototype.
var func = function() {this.a=10; }
func.prototype.a = 20;
var obj = new func();
console.log(obj.a); // 10
delete obj.a;
console.log(obj.a); // 20
Prototype
Prototype facts

   Prototype object is common across all
    instances of the function( class)
   Prototype is dynamic, any changes made in
    prototype gets reflected in all object
    instances instantly.
__proto__ and constructor

var func = function() { }
func.prototype.a = 10;
var obj = new func();
obj.a; // 10
obj.__proto__.a ; // 10
obj.constructor.prototype.a; // a
Using prototype to create class

var funcA = function() {this.a = 10;}
funcA.prototype.b = 20;
funcA.prototype.doSomething = function()
{ }

var objA = new funcA();
funcA.prototype.c = 30;
console.log(objA);
Prototype chaining

var A = function(){};

var B = function(){};
B.prototype = new A();
B.prototype.constructor
= B;

var X = new B();
JSON

JavaScript Object Notation
Array []
Object {“key”:”value, ….}

var obj = {};
obj.a = 10;
obj.doSomething = function(){};
Using JSON to create object and
class

var myClass = function (arg1) {
            var _property1 = 20;
            var _method = function() {};
            return {
                  public_property:arg1,
                  public_method:function() {
                        _method();
                        }
                  };
}
var myObject = new myClass(10);
AJAX

Asynchronous JavaScript And ( Advanced)
XML
XMLHttpRequest Object
AJAX Request
XMLHttpRequest – cross browser Support

if (typeof XMLHttpRequest == "undefined") {

 XMLHttpRequest = function () {
  try { return new
   ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch
(e) {}
  try { return new
   ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch
(e) {}
  try { return new
   ActiveXObject("Microsoft.XMLHTTP"); } catch
(e) {}
  throw new Error("This browser does not support
Ajax example

var xhr = new XMLHttpRequest();
xhr.onreadystatechange =
 function() {
  if(xhr.readyState == 4){
alert(xhr. responseText);
  }
 };
xhr.open("GET","page.xml",true);
xhr.send(null);
Event Handling

Event propagation and event Bubbling

                        IE only support event
                        bubbling
Adding event Handlers

Mozilla compatible browsers
[elementObject].addEventListener(“event_h
andler”, handlerFunction, boolCapture);
[elementObject].removeEventListener(“even
t_handler”, handlerFunction,
boolCapture);
IE
[elementObject].attachEvent(“event_handle
r”, handlerFunction);
[elementObject].detachEvent(“event_handle
r”, handlerFunction);
Timing functions

setTimeout– calls only once
var timeoutVar =
setTimeout( function_to_call,
milliseconds);
clearTimeout(timeoutVar);

setInterval – calls repeatedly
var intervalVar =
setInterval( function_to_call,
milliseconds);
clearInterval(intervalVar);
DOM API

document.getElementById
document.getElementsByTagName

document.createElement
document.appendChild

elementObject.innerHTML
Introduction to Javascript
Introduction to Javascript

More Related Content

PPTX
Lab #2: Introduction to Javascript
PDF
JavaScript - Chapter 13 - Browser Object Model(BOM)
PPT
Javascript
PPTX
Introduction to MERN Stack
PPTX
Javascript 101
PPTX
Java script
PDF
Basics of JavaScript
PDF
JavaScript Programming
Lab #2: Introduction to Javascript
JavaScript - Chapter 13 - Browser Object Model(BOM)
Javascript
Introduction to MERN Stack
Javascript 101
Java script
Basics of JavaScript
JavaScript Programming

What's hot (20)

PPTX
Javascript
PDF
JavaScript - Chapter 6 - Basic Functions
PPTX
PPSX
Javascript variables and datatypes
PPTX
Introduction to JavaScript Basics.
PPT
JavaScript - An Introduction
PPT
Advanced Javascript
PPT
Java Script ppt
PDF
Javascript basics
PPTX
PDF
JavaScript - Chapter 8 - Objects
PDF
JavaScript - Chapter 11 - Events
PDF
Javascript essentials
PDF
Intro to Asynchronous Javascript
PPT
Introduction to JavaScript
PPTX
Event In JavaScript
PDF
JavaScript Tutorial For Beginners | JavaScript Training | JavaScript Programm...
PDF
TypeScript Introduction
PPTX
Java script
PDF
Introduction to web programming with JavaScript
Javascript
JavaScript - Chapter 6 - Basic Functions
Javascript variables and datatypes
Introduction to JavaScript Basics.
JavaScript - An Introduction
Advanced Javascript
Java Script ppt
Javascript basics
JavaScript - Chapter 8 - Objects
JavaScript - Chapter 11 - Events
Javascript essentials
Intro to Asynchronous Javascript
Introduction to JavaScript
Event In JavaScript
JavaScript Tutorial For Beginners | JavaScript Training | JavaScript Programm...
TypeScript Introduction
Java script
Introduction to web programming with JavaScript
Ad

Viewers also liked (8)

PDF
Introduction to JavaScript
PPTX
Javascript conditional statements
PPTX
Javascript validating form
PPTX
Form Validation in JavaScript
ODP
Form Processing In Php
PPT
Js ppt
PPTX
Introduction to java
Introduction to JavaScript
Javascript conditional statements
Javascript validating form
Form Validation in JavaScript
Form Processing In Php
Js ppt
Introduction to java
Ad

Similar to Introduction to Javascript (20)

PPTX
PPT
JavaScript Basics
PPT
jQuery with javascript training by Technnovation Labs
PPTX
JavaScript Basics - GameCraft Training
PPT
eXo SEA - JavaScript Introduction Training
PPTX
JavaScript (without DOM)
PDF
Xopus Application Framework
KEY
JavaScript Growing Up
PPT
Laurens Van Den Oever Xopus Presentation
PPT
Reversing JavaScript
PPT
JavaScript Misunderstood
PPTX
Art of Javascript
PDF
[2015/2016] JavaScript
PDF
Advanced javascript
PPS
Master in javascript
PPT
Ajax Lecture Notes
PDF
Important JavaScript Concepts Every Developer Must Know
PDF
Javascript
PPTX
Javascript
PPT
A Deeper look into Javascript Basics
JavaScript Basics
jQuery with javascript training by Technnovation Labs
JavaScript Basics - GameCraft Training
eXo SEA - JavaScript Introduction Training
JavaScript (without DOM)
Xopus Application Framework
JavaScript Growing Up
Laurens Van Den Oever Xopus Presentation
Reversing JavaScript
JavaScript Misunderstood
Art of Javascript
[2015/2016] JavaScript
Advanced javascript
Master in javascript
Ajax Lecture Notes
Important JavaScript Concepts Every Developer Must Know
Javascript
Javascript
A Deeper look into Javascript Basics

Recently uploaded (20)

PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Cloud computing and distributed systems.
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Modernizing your data center with Dell and AMD
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Cloud computing and distributed systems.
Network Security Unit 5.pdf for BCA BBA.
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Modernizing your data center with Dell and AMD
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
The AUB Centre for AI in Media Proposal.docx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Machine learning based COVID-19 study performance prediction
Reach Out and Touch Someone: Haptics and Empathic Computing
Unlocking AI with Model Context Protocol (MCP)
Review of recent advances in non-invasive hemoglobin estimation
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Per capita expenditure prediction using model stacking based on satellite ima...
20250228 LYD VKU AI Blended-Learning.pptx

Introduction to Javascript

  • 1. Javascript Introduction by Amit Tyagi
  • 2. What Is JavaScript?  Executes in Host Environment ( mostly Browser).  Interpreted language.  Major use cases are: a. making web pages dynamic (animations, RICH UI) b. form validation c. background communication with server (AJAX) etc. d. ….
  • 3. History  Initially LiveScript from Netscape.  JScript from Microsoft.  ECMA introduced ECMAScript for standardized Scripting language.  Current Version is 5.1 of ECMA-262.
  • 4. The Core (ECMAScript)  ECMA-262 describes it like this: “ECMAScript can provide core scripting capabilities for a variety of host environments, and therefore the core scripting language is specified...apart from any particular host environment.” ECMAScript | ---------------------------------------- | | | JavaScript Actionscript ScriptEase
  • 5. The Document Object Model (DOM)  The Document Object Model (DOM) is an application programming interface (API) for HTML as well as XML.
  • 6. DOM <html> <head> <title>Sample Page</ title> </head> <body> <p>Hello World!</p> </body> </html>
  • 7. The Browser Object Model (BOM)  BOM deals with the browser window and frames.  All function and properties starting inside window object.  Internet Explorer extends the BOM to include the ActiveXObject class, which can be used to instantiate ActiveX objects through JavaScript.
  • 9. DOM and JS World
  • 10. How to include JS in a web page Inside <script> tags <script> var a = 10; alert(a); </script> Within external file <script src=“page.js“ type=“text/javascript” ></script>
  • 12. Syntax  Mostly like C and java.  Everything is case-sensitive.  Variables are loosely typed.  End-of-line semicolons are optional.  Comments are the same as in Java, C, and Perl.
  • 13. Variables  var test = "hi“, test2, $number;  Variable declaration is optional.
  • 14. Keywords break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof
  • 15. Reserved Words abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public
  • 16. Statements  The if statement – if (condition) statement1 else statement2  do-while – do { statements } while (condition )  While – while (condition) { statements}  for – for (initialization; condition; post-loop-expression) { statements}  for-in for (property in expression) {statements}
  • 17. Data types  Primitive values  Reference values
  • 18. Primitive values  undefined  null  boolean  number  string Use typeof keyword to check type of variable.
  • 19. Reference Types  Classes or Object  The Object class – similar to java.lang.Object var car = new Object(); Or var myClass = function(){}; var myObject = new myClass(); Or JSON way var myObject = {};
  • 21. Classes and objects in javascript  No class keyword available, instead constructor function works as class definition.  Classes and objects are dynamic, can be altered at runtime.
  • 22. Builtin Objects Object Function Array String Boolean Number Date RegExp Error EvalError RangeError ReferenceError SyntaxError TypeError URIError
  • 23. Function defination function showInfo(a) { alert(a); } var showInfo = function(a) { alert(a);} var showInfo = new Function(“a”, “alert(a)”);
  • 24. Functions ( contd.)  Functions are also object, in fact everything is an object in JavaScript  Functions can return any data type, ‘undefined’ if none specified.
  • 25. Functions scope By default in window scope this points to current object’s scope, defaults to window Can be altered using call and apply method func.call(any_scope, [arg1, arg2, ..]); func.apply(any_scope, arg1, arg2,..);
  • 26. Using function as Class var Policy = function(name) { this.policyName = name; } var pol1 = new Policy(“AccessPolicy”); var pol2 = new Policy(“AuthenticationPolicy”); console.log(pol1.policyName); // AccessPolicy console.log(pol2.policyName); // AuthenticationPolicy
  • 27. Variables scope 1. Start from local scope and ends till global scope.
  • 29. Prototype property Every function has a prototype property Every object’s scope chain fall backs to constructor function’s prototype. var func = function() {this.a=10; } func.prototype.a = 20; var obj = new func(); console.log(obj.a); // 10 delete obj.a; console.log(obj.a); // 20
  • 31. Prototype facts  Prototype object is common across all instances of the function( class)  Prototype is dynamic, any changes made in prototype gets reflected in all object instances instantly.
  • 32. __proto__ and constructor var func = function() { } func.prototype.a = 10; var obj = new func(); obj.a; // 10 obj.__proto__.a ; // 10 obj.constructor.prototype.a; // a
  • 33. Using prototype to create class var funcA = function() {this.a = 10;} funcA.prototype.b = 20; funcA.prototype.doSomething = function() { } var objA = new funcA(); funcA.prototype.c = 30; console.log(objA);
  • 34. Prototype chaining var A = function(){}; var B = function(){}; B.prototype = new A(); B.prototype.constructor = B; var X = new B();
  • 35. JSON JavaScript Object Notation Array [] Object {“key”:”value, ….} var obj = {}; obj.a = 10; obj.doSomething = function(){};
  • 36. Using JSON to create object and class var myClass = function (arg1) { var _property1 = 20; var _method = function() {}; return { public_property:arg1, public_method:function() { _method(); } }; } var myObject = new myClass(10);
  • 37. AJAX Asynchronous JavaScript And ( Advanced) XML XMLHttpRequest Object
  • 39. XMLHttpRequest – cross browser Support if (typeof XMLHttpRequest == "undefined") { XMLHttpRequest = function () { try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e) {} try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e) {} try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} throw new Error("This browser does not support
  • 40. Ajax example var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if(xhr.readyState == 4){ alert(xhr. responseText); } }; xhr.open("GET","page.xml",true); xhr.send(null);
  • 41. Event Handling Event propagation and event Bubbling IE only support event bubbling
  • 42. Adding event Handlers Mozilla compatible browsers [elementObject].addEventListener(“event_h andler”, handlerFunction, boolCapture); [elementObject].removeEventListener(“even t_handler”, handlerFunction, boolCapture); IE [elementObject].attachEvent(“event_handle r”, handlerFunction); [elementObject].detachEvent(“event_handle r”, handlerFunction);
  • 43. Timing functions setTimeout– calls only once var timeoutVar = setTimeout( function_to_call, milliseconds); clearTimeout(timeoutVar); setInterval – calls repeatedly var intervalVar = setInterval( function_to_call, milliseconds); clearInterval(intervalVar);