290 likes | 308 Views
Javascript II. Expressions and Data Types. JavaScript Review. programs executed by the web browser programs embedded in a web page using the script element programs consist of statements executed sequentially. Statements. End with semi-colon Cannot occupy multiple lines
E N D
Javascript II Expressions andData Types
JavaScript Review • programs executed by the web browser • programs embedded in a web page • using the script element • programs consist of statements • executed sequentially
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");
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
Variable declaration • Declaration is optional in Javascript • Syntax var foo; • Says that foo is a variable we will use later
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
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
JavaScript Types • Strings • Integers • Floats • real numbers • Boolean • true or false
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
Examples • val1 = “Hello"; • val2 = ‘ there'; • val3 = val1 + val2; • document.write (val3); • val4 = “45”; • val2 = val3 + val5; • document.write (val2);
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
Examples • val1 = 45; • val2 = 055; • val3 = val1 + val2; • Math.sqrt(val3);
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
Examples • val1 = 5.3; • val2 = 5.3e1; • val3 = val1 + val2; • Math.floor(val3);
Boolean • What values • true / false • What operations • logical operations • and && • or || • not ! • Syntax • keywords (true, false)
Examples • val1 = true; • val2 = false; • val3 = val1 && !val2;
Another kind of value <script type="text/javascript"> var foo; document.write (foo); </script> • What is the value of foo?
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
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"
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
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
Example • a = 5; • b = 20; • position = (a * 5) + (b / 10);
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
Example • complex expression • slope = ( (y1 – y2) / (x1 – x2) ); • simplified • deltaY = y1 – y2; • deltaX = x1 – x2; • slope = deltaY / deltaX;
The "+" trap • + means different things for different types • "foo" + "bar" "foobar" • "5" + "6" "56" • 5 + 6 11 • What about? • "5" + 6 • 6 + "foo"
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!
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
Predefined Functions • You can define your own functions • later in the class • Many built-in • prompt • document.write
Function syntax • prompt ( "Enter a number", "0") • return value is a string containing the user input • No parameters? • Math.random () • there's still a list, just an empty one parameter #2 function name parameter #1 parameter list