SlideShare une entreprise Scribd logo
1  sur  46
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

Contenu connexe

Tendances

Tendances (20)

jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
JavaScript Tutorial
JavaScript  TutorialJavaScript  Tutorial
JavaScript Tutorial
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
JavaScript - An Introduction
JavaScript - An IntroductionJavaScript - An Introduction
JavaScript - An Introduction
 
Javascript
JavascriptJavascript
Javascript
 
Java script
Java scriptJava script
Java script
 
Introduction to web programming with JavaScript
Introduction to web programming with JavaScriptIntroduction to web programming with JavaScript
Introduction to web programming with JavaScript
 
Javascript
JavascriptJavascript
Javascript
 
JavaScript - Chapter 9 - TypeConversion and Regular Expressions
 JavaScript - Chapter 9 - TypeConversion and Regular Expressions  JavaScript - Chapter 9 - TypeConversion and Regular Expressions
JavaScript - Chapter 9 - TypeConversion and Regular Expressions
 
Fundamental JavaScript [UTC, March 2014]
Fundamental JavaScript [UTC, March 2014]Fundamental JavaScript [UTC, March 2014]
Fundamental JavaScript [UTC, March 2014]
 
javaScript.ppt
javaScript.pptjavaScript.ppt
javaScript.ppt
 
JavaScript - Chapter 8 - Objects
 JavaScript - Chapter 8 - Objects JavaScript - Chapter 8 - Objects
JavaScript - Chapter 8 - Objects
 
JavaScript - Chapter 6 - Basic Functions
 JavaScript - Chapter 6 - Basic Functions JavaScript - Chapter 6 - Basic Functions
JavaScript - Chapter 6 - Basic Functions
 
Javascript functions
Javascript functionsJavascript functions
Javascript functions
 
Js ppt
Js pptJs ppt
Js ppt
 
Java Script ppt
Java Script pptJava Script ppt
Java Script ppt
 
Functions in javascript
Functions in javascriptFunctions in javascript
Functions in javascript
 
JavaScript - Chapter 4 - Types and Statements
 JavaScript - Chapter 4 - Types and Statements JavaScript - Chapter 4 - Types and Statements
JavaScript - Chapter 4 - Types and Statements
 
JavaScript - Chapter 11 - Events
 JavaScript - Chapter 11 - Events  JavaScript - Chapter 11 - Events
JavaScript - Chapter 11 - Events
 
Java script
Java scriptJava script
Java script
 

En vedette (7)

Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
Javascript conditional statements
Javascript conditional statementsJavascript conditional statements
Javascript conditional statements
 
Javascript validating form
Javascript validating formJavascript validating form
Javascript validating form
 
Form Validation in JavaScript
Form Validation in JavaScriptForm Validation in JavaScript
Form Validation in JavaScript
 
Form Processing In Php
Form Processing In PhpForm Processing In Php
Form Processing In Php
 
Java script ppt
Java script pptJava script ppt
Java script ppt
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 

Similaire à Introduction to Javascript

jQuery with javascript training by Technnovation Labs
jQuery with javascript training by Technnovation LabsjQuery with javascript training by Technnovation Labs
jQuery with javascript training by Technnovation LabsPrasad Shende
 
JavaScript Basics - GameCraft Training
JavaScript Basics - GameCraft TrainingJavaScript Basics - GameCraft Training
JavaScript Basics - GameCraft TrainingRadoslav Georgiev
 
eXo SEA - JavaScript Introduction Training
eXo SEA - JavaScript Introduction TrainingeXo SEA - JavaScript Introduction Training
eXo SEA - JavaScript Introduction TrainingHoat Le
 
JavaScript (without DOM)
JavaScript (without DOM)JavaScript (without DOM)
JavaScript (without DOM)Piyush Katariya
 
Xopus Application Framework
Xopus Application FrameworkXopus Application Framework
Xopus Application FrameworkJady Yang
 
JavaScript Growing Up
JavaScript Growing UpJavaScript Growing Up
JavaScript Growing UpDavid Padbury
 
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationLaurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationAjax Experience 2009
 
JavaScript Misunderstood
JavaScript MisunderstoodJavaScript Misunderstood
JavaScript MisunderstoodBhavya Siddappa
 
Art of Javascript
Art of JavascriptArt of Javascript
Art of JavascriptTarek Yehia
 
Advanced javascript
Advanced javascriptAdvanced javascript
Advanced javascriptDoeun KOCH
 
Master in javascript
Master in javascriptMaster in javascript
Master in javascriptRobbin Zhao
 
A Deeper look into Javascript Basics
A Deeper look into Javascript BasicsA Deeper look into Javascript Basics
A Deeper look into Javascript BasicsMindfire Solutions
 
Javascriptinobject orientedway-090512225827-phpapp02
Javascriptinobject orientedway-090512225827-phpapp02Javascriptinobject orientedway-090512225827-phpapp02
Javascriptinobject orientedway-090512225827-phpapp02Sopheak Sem
 

Similaire à Introduction to Javascript (20)

oojs
oojsoojs
oojs
 
JavaScript Basics
JavaScript BasicsJavaScript Basics
JavaScript Basics
 
jQuery with javascript training by Technnovation Labs
jQuery with javascript training by Technnovation LabsjQuery with javascript training by Technnovation Labs
jQuery with javascript training by Technnovation Labs
 
JavaScript Basics - GameCraft Training
JavaScript Basics - GameCraft TrainingJavaScript Basics - GameCraft Training
JavaScript Basics - GameCraft Training
 
eXo SEA - JavaScript Introduction Training
eXo SEA - JavaScript Introduction TrainingeXo SEA - JavaScript Introduction Training
eXo SEA - JavaScript Introduction Training
 
JavaScript (without DOM)
JavaScript (without DOM)JavaScript (without DOM)
JavaScript (without DOM)
 
Xopus Application Framework
Xopus Application FrameworkXopus Application Framework
Xopus Application Framework
 
JavaScript Growing Up
JavaScript Growing UpJavaScript Growing Up
JavaScript Growing Up
 
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationLaurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus Presentation
 
Reversing JavaScript
Reversing JavaScriptReversing JavaScript
Reversing JavaScript
 
JavaScript Misunderstood
JavaScript MisunderstoodJavaScript Misunderstood
JavaScript Misunderstood
 
Art of Javascript
Art of JavascriptArt of Javascript
Art of Javascript
 
[2015/2016] JavaScript
[2015/2016] JavaScript[2015/2016] JavaScript
[2015/2016] JavaScript
 
Advanced javascript
Advanced javascriptAdvanced javascript
Advanced javascript
 
Master in javascript
Master in javascriptMaster in javascript
Master in javascript
 
Ajax Lecture Notes
Ajax Lecture NotesAjax Lecture Notes
Ajax Lecture Notes
 
Javascript
JavascriptJavascript
Javascript
 
Javascript
JavascriptJavascript
Javascript
 
A Deeper look into Javascript Basics
A Deeper look into Javascript BasicsA Deeper look into Javascript Basics
A Deeper look into Javascript Basics
 
Javascriptinobject orientedway-090512225827-phpapp02
Javascriptinobject orientedway-090512225827-phpapp02Javascriptinobject orientedway-090512225827-phpapp02
Javascriptinobject orientedway-090512225827-phpapp02
 

Dernier

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Dernier (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

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);