1 CS428 Web Engineering Lecture 13 Flow Control & Loops (JavaScript - III)
2 if: Example 1 if ( day == “Sunday” ) Weather = “Cool” ; Set the value of the variable ‘weather to ‘Cool’ if the ‘day’ is equal to ‘Sunday’ The condition enclosed in parentheses semicolon This was the case if we want to execute a single statement given that the condition is true What if we want to execute multiple statements in case the condition is true?
3 if: Example 2 if ( day == “Sunday” ) { person = “Cool” ; mood = “Great” ; clothing = “Casual” ; } Set the value of the variable ‘person to ‘Cool’, ‘mood’ to ‘Great’, and ‘clothing’ to ‘casual’ if the ‘day’ is equal to ‘Sunday’ These curly braces group the multiple statements into a single compound statement
4 Compound Statements 1.At times, we need to put multiple statements at places where JavaScript expects only one 2.For those situations, JavaScript provides a way of grouping a number of statements into a single statement, called a “statement block” 3.This is done simply by enclosing any number of statements within curly braces, { } 4.NOTE: Although the statements within the block end in semicolons, the block itself doesn’t
5 if: Example 3 if ( (day == “Sunday”) || (day == “Saturday”) ) { person = “Cool” ; mood = “Great” ; clothing = “Casual” ; } ===================== weekend = ( day == “Sunday” ) || ( day ==“Saturday” ) ; if ( weekend ) { person = “Cool” ; mood = “Great” ; clothing = “Casual” ; }
6 We now know how to execute a statement or a block of statements given that the condition is true…. What if we want to include an alternate action as well, i.e. a statement or a block of statements to be executed in case the condition in not true…. if ( GPA >= 2.5 ) student = “Pass” ; else student = “Fail” ;
7 if … else: Example if ( GPA >= 2.5 ) { student = “Pass” ; mood = “Great” ; } else student = “Fail” ;
8 if … else: Example 5 if ( grade == “A” ) points = 4.0 ; if ( grade == “B” ) points = 3.0 ; if ( grade == “C” ) points = 2.0 ; if ( grade == “D” ) points = 1.0 ; if ( grade == “F” ) points = 0.0 ; What can we do to improve it? This piece of code is correct, but not very efficient!
9 if … else: Example 6 if ( grade == “A” ) points = 4.0 ; else { if ( grade == “B” ) points = 3.0 ; else { if ( grade == “C” ) points = 2.0 ; else { if ( grade == “D” ) points = 1.0 ; else points = 0.0 ; }
10 switch: Example 1 switch ( grade ) { case “A” : points = 4.0 ; break ; case “B” : points = 3.0 ; break ; case “C” : points = 2.0 ; break ; case “D” : points = 1.0 ; break ; default : points = 0.0 ; } The expression enclosed in parentheses is evaluated and matched with case labels This is a case label A colon following the case label is required This ‘break’ statement is the exit point The ‘default’ statement acts like the ‘else’ clause in the ‘if…else’ structure
11 switch: Example 2 switch ( inquiry ) { case “apple” : document.write( “Apples are Rs 50/kg” ) ; break ; case “mangos” : document.write( “Mangos are Rs 90/kg” ) ; break ; case “grapes” : document.write( “Grapes are Rs 60/kg” ) ; break ; default : document.write( inquiry + “? Please retry!” ) ; }
12 if … else: Example if ( ( GPA >= 2.5 ) && ( attendance >= 40 ) ) bhola = “Pass” ; else { if ( ( GPA >= 2.0 ) && ( attendance >= 36 ) ) bhola = “Probation” ; else bhola = “Fail” ; }
13 Loop through a set of statements as long as a condition is true condition True False statement block
14 x = 75 ;// x is the decimal number y = “” ;// y is the binary equivalent while ( x > 0 ) { remainder = x % 2 ; quotient = Math.floor( x / 2 ) ; y = remainder + y ; x = quotient ; } document.write( “y = ” + y ) ; Decimal to Binary Conversion in JavaScript The condition enclosed in parentheses
15 while: Example 2 while ( tankIsFull == false ) { tank = tank + bucket ; } document.write ( “Tank is full now” ) ; ======== x = 1 ; while ( x < 6000 ) { document.write ( x ) ; x = x + 1 ; }
16 for: Example 1 x = 1 ; while ( x < 6000 ) { document.write ( x ) ; x = x + 1 ; } for ( x = 1 ; x < 6000 ; x = x + 1 ) { document.write ( x ) ; } Initial countConditionOperation
17 for: Description (1) 1.The ‘for’ loop starts by initializing the counter variable (which in this case is x) 2.The initial value in this case is ‘1’, but can be any other positive or negative number as well 3.Next the ‘for’ loop checks the condition. If the condition evaluates to a ‘true’ value, the ‘for’ loop goes through the loop once
18 for: Description (2) 4.After reaching the end of that iteration, the ‘for’ loop goes to the top once again, performs the operation, checks the condition 5.If the condition evaluates to a ‘false’ value, the ‘for’ loop finishes looping 6.Otherwise, the ‘for’ loop goes through the loop once again 7.Repeat from step 4
19 for: Example for ( x = 99 ; x < 6000 ; x = x + 1 ) { document.write ( x ) ; } ============= for ( x = 6000 ; x > 0 ; x = x - 1 ) { document.write ( x ) ; } How many iteration s would this ‘for’ loop run for?
20 for --?-- while When the exact number of iterations is known, use the ‘for’ loop When the number of iterations depend upon a condition being met, use the ‘while’ loop ‘for’ loops become especially useful when used in conjunction with arrays We’ll find out about arrays next time, and we’ll probe their usefulness as part of ‘for’ loop structures