SlideShare uma empresa Scribd logo
1 de 14
JAVA SCRIPT LANGUAGE
JavaScript code, much like other programming languages, is made up of statements which
serve to make assignments, compare values, and execute other sections of code. By and
large, programmers will already be familiar with JavaScript's usage of variables, operators,
and statements. Below is a chart summarizing the main elements of JavaScript grammar.
Following, we will look at each element in detail.

Variables         Labels which refer to a changeable value.
                  Example: total may be possess a value of 100.

Operators         Actors which can be used to calculate or compare values.
                  Example: Two values may be summed using the addition operator (+); total+tax
                  Example: Two values may be compared using the greater-than operator (>); total>200

Expressions       Any combination of variables, operators, and statements which evaluate
                  to some result. In English parlance this might be termed a quot;sentencequot; or
                  even a quot;phrasequot;, in that grammatical elements are combined into a cogent
                  meaning.
                  Example: total=100;
                  Example: if (total>100)

Statements        As in English, a statement pulls all grammatical elements together into a
                  full thought. JavaScript statements may take the form of conditionals,
                  loops, or object manipulations. It is good form to separate statements by
                  semicolons, although this is only mandatory if multiple statements reside
                  on the same line.
                  Example: if (total>100) {statements;} else {statements;}
                  Example: while (clicks<10) {statements;}

Objects           Containing constructs which possess a set of values, each value reflected
                  into an individual property of that object. Objects are a critical concept
                  and feature of JavaScript. A single object may contain many properties,
                  each property which acts like a variable reflecting a certain value.
                  JavaScript can reference a large number of quot;built-inquot; objects which refer
                  to characteristics of a Web document. For instance, the document object
                  contains properties which reflect the background color of the current
                  document, its title, and many more. For a fuller explanation of the built-in
                  objects of JavaScript, see the section on quot;Document Object Modelquot;.
Functions and     A JavaScript function is quite similar to a quot;procedurequot; or quot;subroutinequot; in
Methods           other programming languages. A function is a discrete set of statements
                  which perform some action. It may accept incoming values (parameters),
                  and it may return an outgoing value. A function is quot;calledquot; from a
                  JavaScript statement to perform its duty. A method is simply a function
                  which is contained in an object. For instance, a function which closes the
                  current window, named close(), is part of the window object; thus,
                  window.close() is known as a method.
Operators take one or more variables or values (operands) and return a new value; e.g. the
'+' operator can add two numbers to produce a third. You use operators in expressions to
relate values, whether to perform arithmetic or compare quantities. Operators are divided
into several classes depending on the relation they perform:

arithmetic or computational

Arithmetic operators take numerical values (either literals or variables) as their operands
and return a single numerical value. The standard arithmetic operators are:

+      Addition

-      Subtraction

*      Multiplication

/      Division

       Modulus: the remainder after division;
%
       e.g. 10 % 3 yields 1.

       Unary increment: this operator only takes one operand. The operand's value is
       increased by 1. The value returned depends on whether the ++ operator is
++
       placed before or after the operand; e.g. ++x will return the value of x following
       the increment whereas x++ will return the value of x prior to the increment.

       Unary decrement: this operator only takes one operand. The operand's value is
       decreased by 1. The value returned depends on whether the -- operator is placed
--
       before or after the operand; e.g. --x will return the value of x following the
       decrement whereas x-- will return the value of x prior to the decrement.

-      Unary negation: returns the negation of operand.

comparison

A comparison operator compares its operands and returns a logical value based on whether
the comparison is true or not. The operands can be numerical or string values. When used
on string values, the comparisons are based on the standard lexicographical (alphabetic)
ordering.

==     quot;Equal toquot; returns true if operands are equal.
!=       quot;Not equal toquot; returns true if operands are not equal.
>        quot;Greater thanquot; returns true if left operand is greater than right operand.
         quot;Greater than or equal toquot; returns true if left operand is greater than or equal to
>=
         right operand.
<        quot;Less thanquot; returns true if left operand is less than right operand.
         quot;Less than or equal toquot; returns true if left operand is less than or equal to right
<=
         operand.

boolean

Boolean operators are typically used to combine multiple comparisons into a conditional
expression. For example, you might want to test whether (total>100) AND (stateTax=true).
A boolean operator takes two operands, each of which is a true or false value, and returns a
true or false result.

&&       quot;Andquot; returns true if both operands are true.
||       quot;Orquot; returns true if either operand is true.
!        quot;Notquot; returns true if the negation of the operand is true (e.g. the operand is false).

string

Strings can be compared using the comparison operators. Additionally, you can
concatenate strings using the + operator.

       quot;dogquot; + quot;bertquot;                           yields               quot;dogbertquot;

assignment

The assignment operator (=) lets you assign a value to a variable. You can assign any value
to a variable, including another variable (whose value will be assigned). Several shorthand
assignment operators allow you to perform an operation and assign its result to a variable
in one step.

=                          Assigns the value of the righthand operand to the variable on the
                           left.
                           Example: total=100;
                           Example: total=(price+tax+shipping)

+=                         Adds the value of the righthand operand to the lefthand variable
(also -=, *=, /=)          and stores the result in the lefthand variable.
                           Example: total+=shipping (adds value of shipping to total and assigned
                           result to total)
&=                           Assigns result of (lefthand operand && righthand operand) to
(also |=)                    lefthand operand.




special

Several JavaScript operators, rarely used, fall into no particular category. These operators
are summarized below.

Conditional operator               Assigns a specified value to a variable if a condition is
                                   true, otherwise assigns an alternate value if condition is
                                   false.
(condition) ? trueVal : falseVal
                                   Example:
                                   preferredPet = (cats > dogs) ? quot;felinesquot; : quot;caninesquot;

                                   If (cats>dogs), preferredPet will be assigned the string
                                   value quot;felines,quot; otherwise it will be assigned quot;caninesquot;.
typeof operand                     Returns the data type of operand.
                                   Example -- test a variable to determine if it contains a number:
                                   if (typeof total==quot;numberquot;) ...




JAVA SCRIPT STATEMENTS
Statements define the flow of a script, known as quot;program flow.quot; A statement, like a fully
grammatical English sentence, is made up of smaller expressions which, altogether,
evaluate into a cogent meaning. In JavaScript, statements are organized as either
conditionals, loops, object manipulations, and comments.

Good practice suggests that each JavaScript statements should be terminated with a
semicolon (;). This is often not strictly necessary, as a new line also serves to separate
statements, but when multiple statements reside on the same line the semicolon delimiter is
mandatory.

A set of statements that is surrounded by braces is called a block. Blocks of statements are
used, for example, in functions and conditionals.

Normally statements are executed sequentially: x = 1; y = 2; z = x + y; but this can
be altered by some statements which test a condition and branch or loop according to the
result.

Conditionals
Conditional statements direct program flow in specified directions depending upon the
outcomes of specified conditions. These tests are a major influence on the order of
execution in a program.

if...else

As seen in many programming languages, if the condition evaluates to true then the block
of statements1 is executed. Optionally, an else clause specifies a block of statements2
which are executed otherwise. You may omit the else clause if there are no statements
which need to be executed if the condition is false.

                                   if (condition)
                                    { statements1; }

                                   else
                                    { statements2; }


switch (Netscape & MSIE 4)

Commonly known as a quot;case statement,quot; switch matches an expression with a specified
case, and executes the statements defined for that case. In essence, the switch statement is a
sort of shorthand for combining many implied if statements together.

                               switch (expression){
                                  case label :
                                      statement;
                                      break;
                                  case label :
                                      statement;
                                      break;
                                  ...
                                  default : statement;
                               }


For example, imagine that you wanted to execute different sets of statements depending on
whether favoritePet was quot;dog,quot; quot;cat,quot; or quot;iguana.quot; Note that the break; statement prevents
any cases below the match from being executed. The default case is matched if none of the
cases match the expression.

                               switch (favoritePet){
                                  case quot;dogquot; :
                                     statements;
                                     break;
                                  case quot;catquot; :
                                     statements;
                                     break;
                                  case quot;iguanaquot; :
statements;
                                      break;
                                   default : statements;
                               }


Loops

for

The venerable for loop repeatedly cycles through a block of statements until a test
condition is false. Typically, the number of times a loop is repeated depends on a counter.
The JavaScript for syntax incorporates the counter and its increments:

                    for (initial-statement; test; increment)
                     { statements; }


The initial-statement is executed first, and once only. Commonly, this statement is used to
initialize a counter variable. Then the test is applied and if it succeeds then the statements
are executed. The increment is applied to the counter variable and then the loop starts
again. For instance, consider a loop which executes 10 times:

                                   for (i=0; i<10; i++)
                                    { statements; }


do...while (Netscape & MSIE 4)

Another loop, a do...while statement executes a block of statements repeatedly until a
condition becomes false. Due to its structure, this loop necessarily executes the statement at
least once.

                                    do
                                     { statements;}
                                    while (condition)


while

In similar fashion as the do...while statement, the while statement executes its statement
block as long as the condition is true. The main difference between while and do...while,
aside from the fact that only while is supported in all JavaScript versions, is that a while
loop may not execute the statements even once if the condition is initially false.

                                    while (condition)
                                     { statements; }
break and continue

Both of these statements may be used to quot;jump the tracksquot; of an iterating loop. When used
within the statement block of a loop, each statement behaves slightly differently:

break                          Aborts execution of the loop, drops out of loop to the next
                               statement following the loop.
continue                       Aborts this single iteration of the loop, returns execution to
                               the loop control, meaning the condition specified by the
                               loop statement. Loop may execute again if condition is
                               still true.

Object manipulation

for...in

The sometimes confusing for...in statement is used to cycle through each property of an
object or each element of an array. The idea is that you may want to execute a statement
block which operates on every property or element.

                              for (variable in object)
                               { statements; }


Imagine, for example, that an object named wine1 has five properties: vineyard, year,
varietal, alcohol, and color. You want to output the value of each property, as if producing
a record from a database.

var record = quot;Wine 1<br><br>quot;
for (var prop in wine1)
 {record += prop + quot; = quot; + wine1[prop] + quot;<BR>quot;}
record += quot;<br>quot;
document.write(record)


with

The with statement serves as a sort of shorthand, allowing you to execute a series of
statement who all assume a specified object as the reference. In other words, the object
specified in the with statement is used as the default object whenever a property is
encountered with no object specified.

                                    with (object)
                                     { statements; }
Comments

Despite the fact that comments are purely optional, they can easily be a crucial part of your
program. Comments can explain the action, like a color commentary, which can be a great
help in understanding the code. Whether as a teaching tool or to simply remind yourself
what the code does, comments are best sprinkled liberally throughout a program.
Remember, comments are for humans, so write them that way!

Comments can also be used for debugging -- you can comment quot;outquot; sections of code to
prevent them from being executed. In doing so you may learn more about why a certain
problem is occurring in your program.

Because JavaScript must ignore comments, there is an appropriate syntax for demarcating
text as a comment. For single line comments, simply precede the line with two backslashes.
For multi-line comment blocks, begin the comment with /* and close with */.

//A lonely ol' single line comment
/* A dense thicket of commentary, spanning many captivating lines
of explanation and intrigue. */




JS FUNCTIONS
A function groups together a set of statements under a named subroutine. This allows you
to conveniently quot;callquot; the function whenever its action is required. Functions are a
fundamental building block of most JavaScript programs, so you'll become quite familiar
with their use. Before you can call on a function, of course, you must first create it. We can
break down the use of functions, then, into two logical categories: defining functions and
calling functions.

defining functions

The function definition is a statement which describes the function: its name, any values
(known as quot;argumentsquot;) which it accepts incoming, and the statements of which the
function is comprised.

function funcName(argument1,argument2,etc)
{ statements; }

A function doesn't necessarily require arguments, in which case you need only write out the
parenthesis; e.g. funcName(). If you do specify arguments, those arguments will be
variables within the function body (the statements which make up the function). The initial
values of those variables will be any values passed on by the function call.

Generally it's best to define the functions for a page in the HEAD portion of a document.
Since the HEAD is loaded first, this guarantees that functions are loaded before the user
has a chance to do anything that might call a function. Alternately, some programmers
place all of their functions into a separate file, and include them in a page using the SRC
attribute of the SCRIPT tag. Either way, the key is to load the function definitions before
any code is executed.

Consider, for example, a simple function which outputs an argument to the Web page, as a
bold and blinking message:

function boldblink(message)
{ document.write(quot;<blink><strong>quot;+message+quot;</strong></blink>quot;); }

Some functions may return a value to the calling expression. The following function
accepts two arguments, x and y, and returns the result of x raised to the y power:

function raiseP(x,y)
{ total=1;
  for (j=0; j<y; j++)
   { total*=x; }
  return total; //result of x raised to y power
}

calling functions

A function waits in the wings until it is called onto the stage. You call a function simply by
specifying its name followed by a parenthetical list of arguments, if any:

clearPage();
boldblink(quot;Call me gaudy!quot;);

Functions which return a result should be called from within an expression:

total=raiseP(2,8);
if (raiseP(tax,2)<100) ...

Quite commonly, JavaScript functions are called from within event handlers

JAVA SCRIPT OBJECTS
An object is a quot;packagequot; of data; a collection of properties (variables) and methods
(functions) all classed under a single name. For example, imagine that there was an object
named car. We could say that the car object possesses several properties: make, model,
year, and color, for example. We might even say that car possesses some methods: go(),
stop(), and reverse(). Although car is obviously fictional, you can see that its properties and
methods all relate to a common theme.

In JavaScript you may create your own objects for storing data. More commonly, though,
you will use the many quot;built-inquot; objects which allow you to work with, manipulate, and
access the Web page and Web browser. This set of pre-existing objects is known as the
quot;Document Object Modelquot;.

Document Object Model

Often referred to as the DOM, this object model is a hierarchy of all objects quot;built inquot; to
JavaScript. Most of these objects are directly related to characteristics of the Web page or
browser. The reason we qualify the term quot;built inquot; is because the DOM is technically
separate from JavaScript itself. That is, the JavaScript language specification, standardized
by the ECMA, does not actually specify the nature or specifics of the DOM. Consequently,
Netscape and Microsoft have developed their own individual DOM's which are not entirely
compatible. Additionally, the DOM stands apart from JavaScript because it could
theoretically be accessed by other scripting languages as well.

In summary, then, what we refer to as quot;JavaScriptquot; is actually made up of both JavaScript,
the language, and the DOM, or object model which JavaScript can access. In a future
WDVL article we will take a closer look at the DOM and its current and future role.

Below is a graphical chart illustrating a high-level view of Netscape's DOM. Microsoft's
DOM is actually a superset of Netscape's, and so the chart below actually represents a
subset of Microsoft's own DOM.
Reprinted from Netscape's JavaScript Guide

Properties

Access the properties of an object with a simple notation: objectName.propertyName. Both
the object name and property name are case sensitive, so watch your typing. Because a
property is essentially a variable, you can create new properties by simply assigning it a
value. Assuming, for instance, that carObj already exists (we'll learn to create a new object
shortly), you can give it properties named make, model, and year as follows:

                            carObj.make=quot;Toyotaquot;;
                            carObj.model=quot;Camryquot;;
                            carObj.year=1990;
                            document.write(carObj.year);


A JavaScript object, basically, is an array. If you're familiar with other languages you
probably recognize an array as a collection of values residing within a single named data
structure. You can access an object's properties either using the objectName.propertyName
syntax illustrated above, or by using an array syntax:

                          carObj[quot;makequot;]=quot;Toyotaquot;;
                          carObj[quot;modelquot;]=quot;Camryquot;;
                          document.write(carObj[quot;yearquot;]);


Methods

Unlike a basic data array, an object can also contain functions, which are known as
methods when part of an object. You call a method using the basic syntax:
objectName.methodName(). Any arguments required for the method are passed between
the parentheses, just like a normal function call.

For example, the window object possesses a method named close(), which simply closes
the specified browser window:

                                     window.close();


Creating Objects

Most of the time you will be referencing objects which are built-in to the DOM. However,
you may want to create your own objects for storing data within a JavaScript program.
There are several ways to create a new object, but we'll look at two: creating a direct
instance of an object and creating an object prototype.
direct instance of an object

Despite the awkward sound name, a quot;direct instance of an objectquot; simply means creating a
new single object, such as myPetDog:

                               myPetDog=new Object();
                                myPetDog.name=quot;Barneyquot;;
                                myPetDog.breed=quot;beaglequot;;
                                myPetDog.year=1981;


Assigning a method to your new object is also simple. Assume that you already have coded
a function named woof(), which causes a barking sound to play:

                                   myPetDog.woof=woof;


prototype of an object

Sometimes, you'll want to create a quot;templatequot; or prototype of an object. This does not
create an actual instance of the object, but defines the structure of the object. In the future,
then, you can quickly stamp out a particular instance of the object. Suppose that instead of
myPetDog, you created a prototype object named petDog. This object could then be a
template for a particular pet dog object. First, create a function which defines the petDog
structure:

                         function petDog(name, breed, year)
                         { this.name = name;
                           this.breed = breed;
                           this.year = year;
                         }


Now that the petDog prototype has been set, you can quickly create single instances of a
new object based on the petDog structure:

                  myPetDog=new petDog(quot;barneyquot;,quot;beaglequot;,1981);
                  yourPetDog=new petDog(quot;maxquot;,quot;terrierquot;,1990);


EVENT HANDLER


JavaScript programs are typically event-driven. Events are actions that occur on the Web
page, usually as a result of something the user does, although not always. For example, a
button click is an event, as is giving focus to a form element; resizing the page is an event,
as is submitting a form. It is these events which cause JavaScript programs to spring into
action. For example, if you move your mouse over this phrase, a message will pop-up,
courtesy of JavaScript.

An event, then, is the action which triggers an event handler. The event handler specifies
which JavaScript code to execute. Often, event handlers are placed within the HTML tag
which creates the object on which the event acts:

         <tag attribute1 attribute2 onEventName=quot;javascript code;quot;>


For example, a hyperlink is subject to a MouseOver event, meaning that its event handler
will be triggered when the mouse passes over the link. Therefore, you place the event
handler for a hyperlink's MouseOver inside the A tag:

                      <a href=quot;quot; onMouseOver=quot;popupFunc();quot;>


The JavaScript which is called by the event handler may be any valid JavaScript code: a
single statement or a series of statements, although most often it is a function call.

The set of all events which may occur, and the particular page elements on which they can
occur, is part of the Document Object Model (DOM), and not JavaScript itself (see the
earlier section quot;Document Object Modelquot;). As a result, Netscape and Microsoft do not
share the exact same set of events, nor are all page elements subject to the same events
between browsers. For example, Internet Explorer 4 supports a MouseOver event for an
image while Navigator 4 does not.

The table below illustrates some of the most commonly used events supported in both
DOM's. Because the DOM's differ in their event support, the following documents are
recommended as an overview of each browser's event support:

         Navigator 4: Event Handlers Summary
    •
         MSIE 4: DHTML Event Summary
    •




                                    Common Events
                                                                                 Event
  Event                              Occurs when...
                                                                                Handler
click         User clicks on form element or link                            onClick
change        User changes value of text, textarea, or select element        onChange
focus         User gives form element input focus                            onFocus
blur          User removes input focus from form element                     onBlur
mouseover User moves mouse pointer over a link or anchor     onMouseOver
mouseout    User moves mouse pointer off of link or anchor   onMouseOut
select      User selects form element's input field          onSelect
submit      User submits a form                              onSubmit
resize      User resizes the browser window                  onResize
load        User loads the page in the Navigator             onLoad
unload      User exits the page                              onUnload

Mais conteúdo relacionado

Mais procurados

Functional programming in Javascript
Functional programming in JavascriptFunctional programming in Javascript
Functional programming in JavascriptKnoldus Inc.
 
Pattern Matching - at a glance
Pattern Matching - at a glancePattern Matching - at a glance
Pattern Matching - at a glanceKnoldus Inc.
 
JavaScript - Chapter 6 - Basic Functions
 JavaScript - Chapter 6 - Basic Functions JavaScript - Chapter 6 - Basic Functions
JavaScript - Chapter 6 - Basic FunctionsWebStackAcademy
 
Object Oriented PHP - PART-1
Object Oriented PHP - PART-1Object Oriented PHP - PART-1
Object Oriented PHP - PART-1Jalpesh Vasa
 
Xml processing in scala
Xml processing in scalaXml processing in scala
Xml processing in scalaKnoldus Inc.
 
Javascript variables and datatypes
Javascript variables and datatypesJavascript variables and datatypes
Javascript variables and datatypesVarun C M
 
3.1 javascript objects_DOM
3.1 javascript objects_DOM3.1 javascript objects_DOM
3.1 javascript objects_DOMJalpesh Vasa
 
Ruby Interview Questions
Ruby Interview QuestionsRuby Interview Questions
Ruby Interview QuestionsSumanth krishna
 
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 WebStackAcademy
 
Functions in python slide share
Functions in python slide shareFunctions in python slide share
Functions in python slide shareDevashish Kumar
 
Implicit conversion and parameters
Implicit conversion and parametersImplicit conversion and parameters
Implicit conversion and parametersKnoldus Inc.
 
Python Built-in Functions and Use cases
Python Built-in Functions and Use casesPython Built-in Functions and Use cases
Python Built-in Functions and Use casesSrajan Mor
 
Functions & closures
Functions & closuresFunctions & closures
Functions & closuresKnoldus Inc.
 
Functional JavaScript Fundamentals
Functional JavaScript FundamentalsFunctional JavaScript Fundamentals
Functional JavaScript FundamentalsSrdjan Strbanovic
 

Mais procurados (19)

Functional programming in Javascript
Functional programming in JavascriptFunctional programming in Javascript
Functional programming in Javascript
 
Pattern Matching - at a glance
Pattern Matching - at a glancePattern Matching - at a glance
Pattern Matching - at a glance
 
JavaScript - Chapter 6 - Basic Functions
 JavaScript - Chapter 6 - Basic Functions JavaScript - Chapter 6 - Basic Functions
JavaScript - Chapter 6 - Basic Functions
 
Object Oriented PHP - PART-1
Object Oriented PHP - PART-1Object Oriented PHP - PART-1
Object Oriented PHP - PART-1
 
Xml processing in scala
Xml processing in scalaXml processing in scala
Xml processing in scala
 
Javascript variables and datatypes
Javascript variables and datatypesJavascript variables and datatypes
Javascript variables and datatypes
 
C#/.NET Little Pitfalls
C#/.NET Little PitfallsC#/.NET Little Pitfalls
C#/.NET Little Pitfalls
 
3.1 javascript objects_DOM
3.1 javascript objects_DOM3.1 javascript objects_DOM
3.1 javascript objects_DOM
 
Ruby Interview Questions
Ruby Interview QuestionsRuby Interview Questions
Ruby Interview Questions
 
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
 
Functions in python slide share
Functions in python slide shareFunctions in python slide share
Functions in python slide share
 
Implicit conversion and parameters
Implicit conversion and parametersImplicit conversion and parameters
Implicit conversion and parameters
 
Functions1
Functions1Functions1
Functions1
 
Python Built-in Functions and Use cases
Python Built-in Functions and Use casesPython Built-in Functions and Use cases
Python Built-in Functions and Use cases
 
Functions & closures
Functions & closuresFunctions & closures
Functions & closures
 
Functional JavaScript Fundamentals
Functional JavaScript FundamentalsFunctional JavaScript Fundamentals
Functional JavaScript Fundamentals
 
JS - Basics
JS - BasicsJS - Basics
JS - Basics
 
Scala functions
Scala functionsScala functions
Scala functions
 
Java script basics
Java script basicsJava script basics
Java script basics
 

Semelhante a Java Script Language Tutorial

Paca java script slid
Paca java script slidPaca java script slid
Paca java script slidpacatarpit
 
Php-Continuation
Php-ContinuationPhp-Continuation
Php-Continuationlotlot
 
Ap Power Point Chpt3 B
Ap Power Point Chpt3 BAp Power Point Chpt3 B
Ap Power Point Chpt3 Bdplunkett
 
Java script final presentation
Java script final presentationJava script final presentation
Java script final presentationAdhoura Academy
 
Javascript sivasoft
Javascript sivasoftJavascript sivasoft
Javascript sivasoftch samaram
 
Unit 1-scalar expressions and control structures
Unit 1-scalar expressions and control structuresUnit 1-scalar expressions and control structures
Unit 1-scalar expressions and control structuressana mateen
 
Javascript - Tutorial
Javascript - TutorialJavascript - Tutorial
Javascript - Tutorialadelaticleanu
 
Scalar expressions and control structures in perl
Scalar expressions and control structures in perlScalar expressions and control structures in perl
Scalar expressions and control structures in perlsana mateen
 
DIWE - Programming with JavaScript
DIWE - Programming with JavaScriptDIWE - Programming with JavaScript
DIWE - Programming with JavaScriptRasan Samarasinghe
 
Introduction to java script
Introduction to java scriptIntroduction to java script
Introduction to java scriptDivyaKS12
 
OCA Java SE 8 Exam Chapter 2 Operators & Statements
OCA Java SE 8 Exam Chapter 2 Operators & StatementsOCA Java SE 8 Exam Chapter 2 Operators & Statements
OCA Java SE 8 Exam Chapter 2 Operators & Statementsİbrahim Kürce
 
Project in TLE
Project in TLEProject in TLE
Project in TLEPGT_13
 
Expressions and Operators.pptx
Expressions and Operators.pptxExpressions and Operators.pptx
Expressions and Operators.pptxJapneet9
 
Report Group 4 Constants and Variables
Report Group 4 Constants and VariablesReport Group 4 Constants and Variables
Report Group 4 Constants and VariablesGenard Briane Ancero
 

Semelhante a Java Script Language Tutorial (20)

Javascript basics
Javascript basicsJavascript basics
Javascript basics
 
Paca java script slid
Paca java script slidPaca java script slid
Paca java script slid
 
Php-Continuation
Php-ContinuationPhp-Continuation
Php-Continuation
 
Ap Power Point Chpt3 B
Ap Power Point Chpt3 BAp Power Point Chpt3 B
Ap Power Point Chpt3 B
 
C# operators
C# operatorsC# operators
C# operators
 
Operators
OperatorsOperators
Operators
 
Java script final presentation
Java script final presentationJava script final presentation
Java script final presentation
 
Javascript sivasoft
Javascript sivasoftJavascript sivasoft
Javascript sivasoft
 
MODULE_2_Operators.pptx
MODULE_2_Operators.pptxMODULE_2_Operators.pptx
MODULE_2_Operators.pptx
 
Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
 
Unit 1-scalar expressions and control structures
Unit 1-scalar expressions and control structuresUnit 1-scalar expressions and control structures
Unit 1-scalar expressions and control structures
 
Javascript - Tutorial
Javascript - TutorialJavascript - Tutorial
Javascript - Tutorial
 
Scalar expressions and control structures in perl
Scalar expressions and control structures in perlScalar expressions and control structures in perl
Scalar expressions and control structures in perl
 
DIWE - Programming with JavaScript
DIWE - Programming with JavaScriptDIWE - Programming with JavaScript
DIWE - Programming with JavaScript
 
JavaScript.pptx
JavaScript.pptxJavaScript.pptx
JavaScript.pptx
 
Introduction to java script
Introduction to java scriptIntroduction to java script
Introduction to java script
 
OCA Java SE 8 Exam Chapter 2 Operators & Statements
OCA Java SE 8 Exam Chapter 2 Operators & StatementsOCA Java SE 8 Exam Chapter 2 Operators & Statements
OCA Java SE 8 Exam Chapter 2 Operators & Statements
 
Project in TLE
Project in TLEProject in TLE
Project in TLE
 
Expressions and Operators.pptx
Expressions and Operators.pptxExpressions and Operators.pptx
Expressions and Operators.pptx
 
Report Group 4 Constants and Variables
Report Group 4 Constants and VariablesReport Group 4 Constants and Variables
Report Group 4 Constants and Variables
 

Mais de vikram singh

Mais de vikram singh (20)

Agile
AgileAgile
Agile
 
Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2
 
Web tech importants
Web tech importantsWeb tech importants
Web tech importants
 
Enterprise Java Beans( E)
Enterprise  Java  Beans( E)Enterprise  Java  Beans( E)
Enterprise Java Beans( E)
 
Enterprise java beans(ejb) update 2
Enterprise java beans(ejb) update 2Enterprise java beans(ejb) update 2
Enterprise java beans(ejb) update 2
 
Enterprise java beans(ejb)
Enterprise java beans(ejb)Enterprise java beans(ejb)
Enterprise java beans(ejb)
 
2 4 Tree
2 4 Tree2 4 Tree
2 4 Tree
 
23 Tree Best Part
23 Tree   Best Part23 Tree   Best Part
23 Tree Best Part
 
JSP Scope variable And Data Sharing
JSP Scope variable And Data SharingJSP Scope variable And Data Sharing
JSP Scope variable And Data Sharing
 
Bean Intro
Bean IntroBean Intro
Bean Intro
 
jdbc
jdbcjdbc
jdbc
 
Sax Dom Tutorial
Sax Dom TutorialSax Dom Tutorial
Sax Dom Tutorial
 
Xml
XmlXml
Xml
 
Dtd
DtdDtd
Dtd
 
Xml Schema
Xml SchemaXml Schema
Xml Schema
 
JSP
JSPJSP
JSP
 
Request dispatching in servlet
Request dispatching in servletRequest dispatching in servlet
Request dispatching in servlet
 
Servlet Part 2
Servlet Part 2Servlet Part 2
Servlet Part 2
 
Tutorial Solution
Tutorial SolutionTutorial Solution
Tutorial Solution
 
Web Tech Java Servlet Update1
Web Tech   Java Servlet Update1Web Tech   Java Servlet Update1
Web Tech Java Servlet Update1
 

Último

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Último (20)

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Java Script Language Tutorial

  • 1. JAVA SCRIPT LANGUAGE JavaScript code, much like other programming languages, is made up of statements which serve to make assignments, compare values, and execute other sections of code. By and large, programmers will already be familiar with JavaScript's usage of variables, operators, and statements. Below is a chart summarizing the main elements of JavaScript grammar. Following, we will look at each element in detail. Variables Labels which refer to a changeable value. Example: total may be possess a value of 100. Operators Actors which can be used to calculate or compare values. Example: Two values may be summed using the addition operator (+); total+tax Example: Two values may be compared using the greater-than operator (>); total>200 Expressions Any combination of variables, operators, and statements which evaluate to some result. In English parlance this might be termed a quot;sentencequot; or even a quot;phrasequot;, in that grammatical elements are combined into a cogent meaning. Example: total=100; Example: if (total>100) Statements As in English, a statement pulls all grammatical elements together into a full thought. JavaScript statements may take the form of conditionals, loops, or object manipulations. It is good form to separate statements by semicolons, although this is only mandatory if multiple statements reside on the same line. Example: if (total>100) {statements;} else {statements;} Example: while (clicks<10) {statements;} Objects Containing constructs which possess a set of values, each value reflected into an individual property of that object. Objects are a critical concept and feature of JavaScript. A single object may contain many properties, each property which acts like a variable reflecting a certain value. JavaScript can reference a large number of quot;built-inquot; objects which refer to characteristics of a Web document. For instance, the document object contains properties which reflect the background color of the current document, its title, and many more. For a fuller explanation of the built-in objects of JavaScript, see the section on quot;Document Object Modelquot;. Functions and A JavaScript function is quite similar to a quot;procedurequot; or quot;subroutinequot; in Methods other programming languages. A function is a discrete set of statements which perform some action. It may accept incoming values (parameters), and it may return an outgoing value. A function is quot;calledquot; from a JavaScript statement to perform its duty. A method is simply a function which is contained in an object. For instance, a function which closes the current window, named close(), is part of the window object; thus, window.close() is known as a method.
  • 2. Operators take one or more variables or values (operands) and return a new value; e.g. the '+' operator can add two numbers to produce a third. You use operators in expressions to relate values, whether to perform arithmetic or compare quantities. Operators are divided into several classes depending on the relation they perform: arithmetic or computational Arithmetic operators take numerical values (either literals or variables) as their operands and return a single numerical value. The standard arithmetic operators are: + Addition - Subtraction * Multiplication / Division Modulus: the remainder after division; % e.g. 10 % 3 yields 1. Unary increment: this operator only takes one operand. The operand's value is increased by 1. The value returned depends on whether the ++ operator is ++ placed before or after the operand; e.g. ++x will return the value of x following the increment whereas x++ will return the value of x prior to the increment. Unary decrement: this operator only takes one operand. The operand's value is decreased by 1. The value returned depends on whether the -- operator is placed -- before or after the operand; e.g. --x will return the value of x following the decrement whereas x-- will return the value of x prior to the decrement. - Unary negation: returns the negation of operand. comparison A comparison operator compares its operands and returns a logical value based on whether the comparison is true or not. The operands can be numerical or string values. When used on string values, the comparisons are based on the standard lexicographical (alphabetic) ordering. == quot;Equal toquot; returns true if operands are equal.
  • 3. != quot;Not equal toquot; returns true if operands are not equal. > quot;Greater thanquot; returns true if left operand is greater than right operand. quot;Greater than or equal toquot; returns true if left operand is greater than or equal to >= right operand. < quot;Less thanquot; returns true if left operand is less than right operand. quot;Less than or equal toquot; returns true if left operand is less than or equal to right <= operand. boolean Boolean operators are typically used to combine multiple comparisons into a conditional expression. For example, you might want to test whether (total>100) AND (stateTax=true). A boolean operator takes two operands, each of which is a true or false value, and returns a true or false result. && quot;Andquot; returns true if both operands are true. || quot;Orquot; returns true if either operand is true. ! quot;Notquot; returns true if the negation of the operand is true (e.g. the operand is false). string Strings can be compared using the comparison operators. Additionally, you can concatenate strings using the + operator. quot;dogquot; + quot;bertquot; yields quot;dogbertquot; assignment The assignment operator (=) lets you assign a value to a variable. You can assign any value to a variable, including another variable (whose value will be assigned). Several shorthand assignment operators allow you to perform an operation and assign its result to a variable in one step. = Assigns the value of the righthand operand to the variable on the left. Example: total=100; Example: total=(price+tax+shipping) += Adds the value of the righthand operand to the lefthand variable (also -=, *=, /=) and stores the result in the lefthand variable. Example: total+=shipping (adds value of shipping to total and assigned result to total)
  • 4. &= Assigns result of (lefthand operand && righthand operand) to (also |=) lefthand operand. special Several JavaScript operators, rarely used, fall into no particular category. These operators are summarized below. Conditional operator Assigns a specified value to a variable if a condition is true, otherwise assigns an alternate value if condition is false. (condition) ? trueVal : falseVal Example: preferredPet = (cats > dogs) ? quot;felinesquot; : quot;caninesquot; If (cats>dogs), preferredPet will be assigned the string value quot;felines,quot; otherwise it will be assigned quot;caninesquot;. typeof operand Returns the data type of operand. Example -- test a variable to determine if it contains a number: if (typeof total==quot;numberquot;) ... JAVA SCRIPT STATEMENTS Statements define the flow of a script, known as quot;program flow.quot; A statement, like a fully grammatical English sentence, is made up of smaller expressions which, altogether, evaluate into a cogent meaning. In JavaScript, statements are organized as either conditionals, loops, object manipulations, and comments. Good practice suggests that each JavaScript statements should be terminated with a semicolon (;). This is often not strictly necessary, as a new line also serves to separate statements, but when multiple statements reside on the same line the semicolon delimiter is mandatory. A set of statements that is surrounded by braces is called a block. Blocks of statements are used, for example, in functions and conditionals. Normally statements are executed sequentially: x = 1; y = 2; z = x + y; but this can be altered by some statements which test a condition and branch or loop according to the result. Conditionals
  • 5. Conditional statements direct program flow in specified directions depending upon the outcomes of specified conditions. These tests are a major influence on the order of execution in a program. if...else As seen in many programming languages, if the condition evaluates to true then the block of statements1 is executed. Optionally, an else clause specifies a block of statements2 which are executed otherwise. You may omit the else clause if there are no statements which need to be executed if the condition is false. if (condition) { statements1; } else { statements2; } switch (Netscape & MSIE 4) Commonly known as a quot;case statement,quot; switch matches an expression with a specified case, and executes the statements defined for that case. In essence, the switch statement is a sort of shorthand for combining many implied if statements together. switch (expression){ case label : statement; break; case label : statement; break; ... default : statement; } For example, imagine that you wanted to execute different sets of statements depending on whether favoritePet was quot;dog,quot; quot;cat,quot; or quot;iguana.quot; Note that the break; statement prevents any cases below the match from being executed. The default case is matched if none of the cases match the expression. switch (favoritePet){ case quot;dogquot; : statements; break; case quot;catquot; : statements; break; case quot;iguanaquot; :
  • 6. statements; break; default : statements; } Loops for The venerable for loop repeatedly cycles through a block of statements until a test condition is false. Typically, the number of times a loop is repeated depends on a counter. The JavaScript for syntax incorporates the counter and its increments: for (initial-statement; test; increment) { statements; } The initial-statement is executed first, and once only. Commonly, this statement is used to initialize a counter variable. Then the test is applied and if it succeeds then the statements are executed. The increment is applied to the counter variable and then the loop starts again. For instance, consider a loop which executes 10 times: for (i=0; i<10; i++) { statements; } do...while (Netscape & MSIE 4) Another loop, a do...while statement executes a block of statements repeatedly until a condition becomes false. Due to its structure, this loop necessarily executes the statement at least once. do { statements;} while (condition) while In similar fashion as the do...while statement, the while statement executes its statement block as long as the condition is true. The main difference between while and do...while, aside from the fact that only while is supported in all JavaScript versions, is that a while loop may not execute the statements even once if the condition is initially false. while (condition) { statements; }
  • 7. break and continue Both of these statements may be used to quot;jump the tracksquot; of an iterating loop. When used within the statement block of a loop, each statement behaves slightly differently: break Aborts execution of the loop, drops out of loop to the next statement following the loop. continue Aborts this single iteration of the loop, returns execution to the loop control, meaning the condition specified by the loop statement. Loop may execute again if condition is still true. Object manipulation for...in The sometimes confusing for...in statement is used to cycle through each property of an object or each element of an array. The idea is that you may want to execute a statement block which operates on every property or element. for (variable in object) { statements; } Imagine, for example, that an object named wine1 has five properties: vineyard, year, varietal, alcohol, and color. You want to output the value of each property, as if producing a record from a database. var record = quot;Wine 1<br><br>quot; for (var prop in wine1) {record += prop + quot; = quot; + wine1[prop] + quot;<BR>quot;} record += quot;<br>quot; document.write(record) with The with statement serves as a sort of shorthand, allowing you to execute a series of statement who all assume a specified object as the reference. In other words, the object specified in the with statement is used as the default object whenever a property is encountered with no object specified. with (object) { statements; }
  • 8. Comments Despite the fact that comments are purely optional, they can easily be a crucial part of your program. Comments can explain the action, like a color commentary, which can be a great help in understanding the code. Whether as a teaching tool or to simply remind yourself what the code does, comments are best sprinkled liberally throughout a program. Remember, comments are for humans, so write them that way! Comments can also be used for debugging -- you can comment quot;outquot; sections of code to prevent them from being executed. In doing so you may learn more about why a certain problem is occurring in your program. Because JavaScript must ignore comments, there is an appropriate syntax for demarcating text as a comment. For single line comments, simply precede the line with two backslashes. For multi-line comment blocks, begin the comment with /* and close with */. //A lonely ol' single line comment /* A dense thicket of commentary, spanning many captivating lines of explanation and intrigue. */ JS FUNCTIONS A function groups together a set of statements under a named subroutine. This allows you to conveniently quot;callquot; the function whenever its action is required. Functions are a fundamental building block of most JavaScript programs, so you'll become quite familiar with their use. Before you can call on a function, of course, you must first create it. We can break down the use of functions, then, into two logical categories: defining functions and calling functions. defining functions The function definition is a statement which describes the function: its name, any values (known as quot;argumentsquot;) which it accepts incoming, and the statements of which the function is comprised. function funcName(argument1,argument2,etc) { statements; } A function doesn't necessarily require arguments, in which case you need only write out the parenthesis; e.g. funcName(). If you do specify arguments, those arguments will be variables within the function body (the statements which make up the function). The initial values of those variables will be any values passed on by the function call. Generally it's best to define the functions for a page in the HEAD portion of a document. Since the HEAD is loaded first, this guarantees that functions are loaded before the user
  • 9. has a chance to do anything that might call a function. Alternately, some programmers place all of their functions into a separate file, and include them in a page using the SRC attribute of the SCRIPT tag. Either way, the key is to load the function definitions before any code is executed. Consider, for example, a simple function which outputs an argument to the Web page, as a bold and blinking message: function boldblink(message) { document.write(quot;<blink><strong>quot;+message+quot;</strong></blink>quot;); } Some functions may return a value to the calling expression. The following function accepts two arguments, x and y, and returns the result of x raised to the y power: function raiseP(x,y) { total=1; for (j=0; j<y; j++) { total*=x; } return total; //result of x raised to y power } calling functions A function waits in the wings until it is called onto the stage. You call a function simply by specifying its name followed by a parenthetical list of arguments, if any: clearPage(); boldblink(quot;Call me gaudy!quot;); Functions which return a result should be called from within an expression: total=raiseP(2,8); if (raiseP(tax,2)<100) ... Quite commonly, JavaScript functions are called from within event handlers JAVA SCRIPT OBJECTS An object is a quot;packagequot; of data; a collection of properties (variables) and methods (functions) all classed under a single name. For example, imagine that there was an object named car. We could say that the car object possesses several properties: make, model, year, and color, for example. We might even say that car possesses some methods: go(), stop(), and reverse(). Although car is obviously fictional, you can see that its properties and methods all relate to a common theme. In JavaScript you may create your own objects for storing data. More commonly, though, you will use the many quot;built-inquot; objects which allow you to work with, manipulate, and
  • 10. access the Web page and Web browser. This set of pre-existing objects is known as the quot;Document Object Modelquot;. Document Object Model Often referred to as the DOM, this object model is a hierarchy of all objects quot;built inquot; to JavaScript. Most of these objects are directly related to characteristics of the Web page or browser. The reason we qualify the term quot;built inquot; is because the DOM is technically separate from JavaScript itself. That is, the JavaScript language specification, standardized by the ECMA, does not actually specify the nature or specifics of the DOM. Consequently, Netscape and Microsoft have developed their own individual DOM's which are not entirely compatible. Additionally, the DOM stands apart from JavaScript because it could theoretically be accessed by other scripting languages as well. In summary, then, what we refer to as quot;JavaScriptquot; is actually made up of both JavaScript, the language, and the DOM, or object model which JavaScript can access. In a future WDVL article we will take a closer look at the DOM and its current and future role. Below is a graphical chart illustrating a high-level view of Netscape's DOM. Microsoft's DOM is actually a superset of Netscape's, and so the chart below actually represents a subset of Microsoft's own DOM.
  • 11. Reprinted from Netscape's JavaScript Guide Properties Access the properties of an object with a simple notation: objectName.propertyName. Both the object name and property name are case sensitive, so watch your typing. Because a property is essentially a variable, you can create new properties by simply assigning it a value. Assuming, for instance, that carObj already exists (we'll learn to create a new object shortly), you can give it properties named make, model, and year as follows: carObj.make=quot;Toyotaquot;; carObj.model=quot;Camryquot;; carObj.year=1990; document.write(carObj.year); A JavaScript object, basically, is an array. If you're familiar with other languages you probably recognize an array as a collection of values residing within a single named data structure. You can access an object's properties either using the objectName.propertyName syntax illustrated above, or by using an array syntax: carObj[quot;makequot;]=quot;Toyotaquot;; carObj[quot;modelquot;]=quot;Camryquot;; document.write(carObj[quot;yearquot;]); Methods Unlike a basic data array, an object can also contain functions, which are known as methods when part of an object. You call a method using the basic syntax: objectName.methodName(). Any arguments required for the method are passed between the parentheses, just like a normal function call. For example, the window object possesses a method named close(), which simply closes the specified browser window: window.close(); Creating Objects Most of the time you will be referencing objects which are built-in to the DOM. However, you may want to create your own objects for storing data within a JavaScript program. There are several ways to create a new object, but we'll look at two: creating a direct instance of an object and creating an object prototype.
  • 12. direct instance of an object Despite the awkward sound name, a quot;direct instance of an objectquot; simply means creating a new single object, such as myPetDog: myPetDog=new Object(); myPetDog.name=quot;Barneyquot;; myPetDog.breed=quot;beaglequot;; myPetDog.year=1981; Assigning a method to your new object is also simple. Assume that you already have coded a function named woof(), which causes a barking sound to play: myPetDog.woof=woof; prototype of an object Sometimes, you'll want to create a quot;templatequot; or prototype of an object. This does not create an actual instance of the object, but defines the structure of the object. In the future, then, you can quickly stamp out a particular instance of the object. Suppose that instead of myPetDog, you created a prototype object named petDog. This object could then be a template for a particular pet dog object. First, create a function which defines the petDog structure: function petDog(name, breed, year) { this.name = name; this.breed = breed; this.year = year; } Now that the petDog prototype has been set, you can quickly create single instances of a new object based on the petDog structure: myPetDog=new petDog(quot;barneyquot;,quot;beaglequot;,1981); yourPetDog=new petDog(quot;maxquot;,quot;terrierquot;,1990); EVENT HANDLER JavaScript programs are typically event-driven. Events are actions that occur on the Web page, usually as a result of something the user does, although not always. For example, a button click is an event, as is giving focus to a form element; resizing the page is an event, as is submitting a form. It is these events which cause JavaScript programs to spring into
  • 13. action. For example, if you move your mouse over this phrase, a message will pop-up, courtesy of JavaScript. An event, then, is the action which triggers an event handler. The event handler specifies which JavaScript code to execute. Often, event handlers are placed within the HTML tag which creates the object on which the event acts: <tag attribute1 attribute2 onEventName=quot;javascript code;quot;> For example, a hyperlink is subject to a MouseOver event, meaning that its event handler will be triggered when the mouse passes over the link. Therefore, you place the event handler for a hyperlink's MouseOver inside the A tag: <a href=quot;quot; onMouseOver=quot;popupFunc();quot;> The JavaScript which is called by the event handler may be any valid JavaScript code: a single statement or a series of statements, although most often it is a function call. The set of all events which may occur, and the particular page elements on which they can occur, is part of the Document Object Model (DOM), and not JavaScript itself (see the earlier section quot;Document Object Modelquot;). As a result, Netscape and Microsoft do not share the exact same set of events, nor are all page elements subject to the same events between browsers. For example, Internet Explorer 4 supports a MouseOver event for an image while Navigator 4 does not. The table below illustrates some of the most commonly used events supported in both DOM's. Because the DOM's differ in their event support, the following documents are recommended as an overview of each browser's event support: Navigator 4: Event Handlers Summary • MSIE 4: DHTML Event Summary • Common Events Event Event Occurs when... Handler click User clicks on form element or link onClick change User changes value of text, textarea, or select element onChange focus User gives form element input focus onFocus blur User removes input focus from form element onBlur
  • 14. mouseover User moves mouse pointer over a link or anchor onMouseOver mouseout User moves mouse pointer off of link or anchor onMouseOut select User selects form element's input field onSelect submit User submits a form onSubmit resize User resizes the browser window onResize load User loads the page in the Navigator onLoad unload User exits the page onUnload