View
223
Download
0
Embed Size (px)
Citation preview
2
JavaScript Review
programs executed by the web browser programs embedded in a web page
using the script element programs consist of statements
executed sequentially
3
Statements
End with semi-colon Cannot occupy multiple lines Assignment statement
var = value; The “value” on the right can be any legal
expression Function call
document.write ("foo");
4
Variables
A variable is a named location where a value can be stored
In JavaScript using a variable creates it can also declare
Other languages require that variables be declared before being used
Variables have "scope" locations in the program where they are valid will discuss this later on
5
Variable declaration
Declaration is optional in Javascript Syntax
var foo;
Says that foo is a variable we will use later
6
Data types
What is the difference between the following statements val1 = "53"; val2 = 53;
These values are different to JavaScript stored differently manipulated differently same operation may mean something different
+ on strings in concatenation + on numbers is addition
7
Data Type
A characterization of a stored value Determines
what kinds of values can be stored how the value is stored internally what operations can be applied
Syntactic representation how the value is expressed in a program
9
Strings
What values lists of characters any length including the zero-length “null” string “”
What operations concatenation (+ operator) output to the Web page
using document.write(…) returned by prompt() function
Syntax double or single quotes
10
Examples
val1 = “Hello"; val2 = ‘ there'; val3 = val1 + val2; document.write (val3); val4 = “45”; val2 = val3 + val5; document.write (val2);
11
Integers
What values whole numbers between -9223372036854775808 and
9223372036854775808
What operations standard mathematical operations (+, -, *, /) special math functions
Syntax unquoted integers
Note book doesn't use integers in examples
13
Float
What values decimal values from ±1.0x10308 to ± 1.0x10-323
17 digits of precision (past decimal point)
What operations standard mathematical operations special math functions
Syntax unquoted decimal values scientific notation
1.2e3 = 1.2 x 103 = 1200
15
Boolean
What values true / false
What operations logical operations
and && or || not !
Syntax keywords (true, false)
17
Another kind of value
<script type="text/javascript">
var foo;
document.write (foo);
</script>
What is the value of foo?
18
undefined value
This is the value of a variable when it is created if you use a variable without defining it, you get an
error You can declare a variable without giving it a
value not an error variable has no value unexpected results
19
Expressions
An expression is a legal combination of Javascript values, operators,
function calls and variables that evaluates to a value
Examples a + b 5 / 6 3.14159 * r * r Math.sqrt (errorTerm) "foo" + "-" + "bar"
20
Syntax alert
An expression is not a statement an expression may be part of a statement note: no semi-colon
Example (a + b) / 2
expression size = a + b;
statement
21
Evaluation
An expression is evaluated when it is executed (run-time)
Steps Each variable is replaced by its current value Operators are applied Until a single value remains
23
Complex expression
Expressions can be large and complex JavaScript doesn't care Readers of your program might care
A complex expression can always be simplified by using intermediate variables
24
Example
complex expression slope = ( (y1 – y2) / (x1 – x2) );
simplified deltaY = y1 – y2; deltaX = x1 – x2; slope = deltaY / deltaX;
25
The "+" trap
+ means different things for different types "foo" + "bar" "foobar" "5" + "6" "56" 5 + 6 11
What about? "5" + 6 6 + "foo"
26
Operators
+ is an operator An operator
takes two values (sometimes one) makes ("returns") a new value
Some operators are two characters &&
Assignment is not an operation = is not an operator!
27
Functions
Like an operator takes values does some operation returns a result
But has a name instead of symbol can take any number of values can be user-defined
28
Predefined Functions
You can define your own functions later in the class
Many built-in prompt document.write