JavaScript I

advertisement
JavaScript I
• JavaScript is an object oriented programming language used
to add interactivity to web pages.
• Different from Java, even though bears some syntactic
resemblance.
• Enables control of the content of web pages, browsers and
HTML forms.
• It is a case-sensitive language.
Uses of JavaScript
 Client side validation of form data, prior to submission
 Performing arbitrary computations
 Controlling document appearance and content
 In combination with CSS, for creating DHTML (Dynamic
HTML).
 Enabling user interactivity by displaying messages or alert
boxes in response to user input.
 Read and write client state with cookies
 Producing animation effects with images
 Interaction with Java applets
Comments in JavaScript
// for single line comments
/*….*/ for multiple line comments
Literals
A literal is a data value that appears directly in a program e.g.
“a string of text” or a numeric value.
Identifiers
• An identifier is simply a name.
• Used to name variables and functions in JavaScript.
• Rules for identifiers are similar to those in Java and other
programming languages
• The first character must be a letter, an underscore ‘_’, or $
• Subsequent characters can be a letter or digit.
Reserved words
These are words that can not be used as identifiers, as they are
part of the language syntax. Include words such as break,
case, catch, continue, default, delete, do, else, false,
finally, for, function, if, in, new, null, return, switch,
this, throw, true, try, var, void and while.
Data Types
• The types of values that can be represented and manipulated
by a programming language
• JavaScript supports:
• Numbers
• Strings (strings of text)
• Boolean values
• Object: An object is a composite data type that represents a
collection of values such as numbers and strings, or other
objects.
Numbers
 Most basic data type.
 Represented in JavaScript as floating-point values
 Can represent numbers as large as
1.7976931348623157*10308 and as small as 5*10-324
Strings
 A sequence of Unicode letters, digits and punctuation marks
enclosed in matching pairs of single or double quotation
marks.
 Double-quote character should be enclosed in single
quotation marks
 Single-quote enclosed in double quotation marks
Escape sequences in string literals
 \n creates a new line
 \’ represents the single quote or apostrophe e.g ‘You\’re not’
would translate to ‘You’re not’
 \\ represents backslash, and \r represents carriage return.
Working with Strings
• Concatenation: JavaScript has a built-in feature that allows
joining one string to another with the ‘+’ operator e.g “We
have “ + “moved on to JavaScript”; results in “We have
moved on to JavaScript”
• Length: Determines the numbers of characters contained in
a string. E.g. to determine the number of characters in a
variable called s, the syntax is s.length
• To get the last character in a string: last_char =
s.charAt(s.length – 1);
• To find the position of the first letter ‘a’ in a string s,
position_of_a = s.indexOf(‘a’);
Boolean Values
• Has only 2 possible values (True or False)
• Generally the result of comparisons made within a script.
• Typically used in control structures e.g if/else statements
perform one action if a boolean value is true and another
action if the value is false.
Functions
 Piece of executable code that is defined by a JavaScript
program, or predefined by the JavaScript implementation.
 Defined only once, but can be executed or invoked any
number of times.
 May be passed arguments or parameters that specify
value(s) upon which it is to perform its computation.
Functions (contd.)
 May return value that represents the results of computation.
 JavaScript implementations provide many predefined
functions, such as Math.sin() function that computes the
sine of an angle.
 Example:
function square(x) // the function is named square and expects
{
// one argument, x. The body is enclosed in
return x*x; // curly brackets. This function squares its
}
// argument and returns the value.
Invoking Functions
 b = square(x);
 y = Math.sin(x)
Objects
• Collection of named values
• The named values are usually referred to as properties of the
object.
• The properties are usually represented as the name of the
object followed by a period (.), followed by the name of the
property e.g. if an object named image has properties named
width and height, they’ll be represented as image.width and
image.height, respectively.
Creating Objects
Objects are created by invoking special constructor functions.
var o = new Object();
Once created, you can use and set its properties e.g.
var point = new Object(); point.x = 2.3; point.y = 4.5;
Object Literals
Also called object initializer.
The point object can be created and initialized with the
following code:
var point = {x:2, y:4};
Object literals can also be nested. E.g.
var rectangle = {
upperLeft: { x:2, y:4 },
lowerRight: { x:6, y:10 }
};
The property values used in object literals do not have to be
constants, i.e. they could be expressions e.g.
var rectangle = { upperLeft: { x:point.x, y:point.y },
lowerRight: { x:(point.x + ln), y:(point.y + ln2)}
};
Arrays
• Collection of data values, similar to an object.
• While each data value in an object has a name, each data
value in an array has an index.
• The index is a positive integer.
• Arrays may contain any type of JavaScript data, including
references to other arrays or objects
• Example: If an array is named a, and n is a positive integer,
a[n] is an element of the array.
• Array indexes begin with zero, therefore a[2] is the third
element of the array a.
References: Dietel, Dietel & Nieto Chapter 8
JavaScript The Definitive guide 4th Ed. David Flanagan. Chapters 1, 2 & 3
Download