1 JavaScript: Functions and Arrays October 18, 2005 Slides modified from Internet & World Wide Web: How to Program. 2004 (3rd) edition. By Deitel, Deitel,

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic JavaScript: Arrays.
1 JavaScript: Control Structures II. 2 whileCounter.html 1 2
1 Programmer-Defined Functions Functions allow program modularization Variables declared in function are local variables Only known inside function in.
JavaScript Part for Repetition Statement for statement Cpecifies each of the items needed for counter-controlled repetition with a control variable.
Chapter 5 C Functions The best way to develop and maintain a large program is to divide it into several smaller program modules, each of which is more.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 6 - Arrays Outline 6.1Introduction 6.2Arrays.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 5 - Functions Outline 5.1Introduction 5.2Program.
 2007 Pearson Education, Inc. All rights reserved C Functions.
 2003 Prentice Hall, Inc. All rights reserved. Chapter 7 - Arrays Outline 7.1 Introduction 7.2 Arrays 7.3 Declaring and Creating Arrays 7.4 Examples Using.
 2006 Pearson Education, Inc. All rights reserved Arrays.
 2007 Pearson Education, Inc. All rights reserved C Functions.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic JavaScript: Functions Part I.
 2003 Prentice Hall, Inc. All rights reserved. 1 Functions Modules: functions and classes Programs use new and “prepackaged” modules –New: programmer-defined.
C++ for Engineers and Scientists Third Edition
Chapter 8 Arrays and Strings
1 CSCE 1030 Computer Science 1 Arrays Chapter 7 in Small Java.
 Pearson Education, Inc. All rights reserved Arrays.
1 JavaScript/Jscript: Arrays. 2 Introduction Arrays –Data structures consisting of related data items (collections of data items) JavaScript arrays are.
1 JavaScript/Jscript 4 Functions. 2 Introduction Programs that solve real-world programs –More complex than programs from previous chapters Best way to.
1 Functions Modules: functions and classes Programs use new and “prepackaged” modules –New: programmer-defined functions, classes –Prepackaged: from the.
 2004 Prentice Hall, Inc. All rights reserved. 1 Chapter 10 - JavaScript: Functions Outline 10.1 Introduction 10.2 Program Modules in JavaScript 10.3.
Chapter 7: Arrays. In this chapter, you will learn about: One-dimensional arrays Array initialization Declaring and processing two-dimensional arrays.
Operator Precedence First the contents of all parentheses are evaluated beginning with the innermost set of parenthesis. Second all multiplications, divisions,
 2004 Prentice Hall, Inc. All rights reserved. 1 Chapter 11 - JavaScript: Arrays Outline 11.1 Introduction 11.2 Arrays 11.3 Declaring and Allocating Arrays.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 6 - Arrays Outline 6.1Introduction 6.2Arrays.
 2001 Prentice Hall, Inc. All rights reserved. 1 Chapter 10 - JavaScript: Functions Outline 10.1 Introduction 10.2 Program Modules in JavaScript 10.3.
 2006 Pearson Education, Inc. All rights reserved Arrays.
Chapter 6: More JavaScript CIS 275—Web Application Development for Business I.
 2001 Prentice Hall, Inc. All rights reserved. 1 Chapter 10 - JavaScript: Functions Outline 10.1 Introduction 10.2 Program Modules in JavaScript 10.3.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. C How To Program - 4th edition Deitels Class 05 University.
Session 7 JavaScript/Jscript: Arrays Matakuliah: M0114/Web Based Programming Tahun: 2005 Versi: 5.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Functions.
Arrays Chapter 7. 2 "All students to receive arrays!" reports Dr. Austin. Declaring arrays scores : Inspecting.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Arrays.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Arrays.
Algorithm and Programming Array Dr. Ir. Riri Fitri Sari MM MSc International Class Electrical Engineering Dept University of Indonesia 15 March 2009.
ARRAYS 1 Week 2. Data Structures  Data structure  A particular way of storing and organising data in a computer so that it can be used efficiently 
 Pearson Education, Inc. All rights reserved Arrays.
 2005 Pearson Education, Inc. All rights reserved. 1 Arrays.
 Pearson Education, Inc. All rights reserved Arrays.
Java Script: Arrays (Chapter 11 in [2]). 2 Outline Introduction Introduction Arrays Arrays Declaring and Allocating Arrays Declaring and Allocating Arrays.
C++ for Engineers and Scientists Second Edition Chapter 11 Arrays.
 2001 Deitel & Associates, Inc. All rights reserved. 1 Outline 16.1Introduction 16.2Program Modules in JavaScript 16.3Programmer-Defined Functions 16.4Function.
Week # 2: Arrays.  Data structure  A particular way of storing and organising data in a computer so that it can be used efficiently  Types of data.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 5 - Functions Outline 5.1Introduction 5.2Program.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Functions Outline 5.1Introduction 5.2Program Modules.
KIC/Computer Programming & Problem Solving 1.  Introduction  Program Modules in C  Math Library Functions  Functions  Function Definitions  Function.
JavaScript, Fourth Edition
 2007 Pearson Education, Inc. All rights reserved C Arrays.
Chapter 11: Arrays CIS 275—Web Application Development for Business I.
 2008 Pearson Education, Inc. All rights reserved. 1 Arrays and Vectors.
JavaScript: Functions © by Pearson Education, Inc. All Rights Reserved.
SEQUENTIAL AND OBJECT ORIENTED PROGRAMMING Arrays.
 2005 Pearson Education, Inc. All rights reserved Arrays.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Arrays.
VISUAL C++ PROGRAMMING: CONCEPTS AND PROJECTS Chapter 7A Arrays (Concepts)
 2001 Prentice Hall, Inc. All rights reserved. 1 Chapter 11 - JavaScript: Arrays Outline 11.1 Introduction 11.2 Arrays 11.3 Declaring and Allocating Arrays.
REEM ALMOTIRI Information Technology Department Majmaah University.
Chapter 11 - JavaScript: Arrays
© 2016 Pearson Education, Ltd. All rights reserved.
JavaScript: Functions
JavaScript: Functions.
Chapter 5 - Functions Outline 5.1 Introduction
Chapter 10 - JavaScript: Functions
Chapter 5 - Functions Outline 5.1 Introduction
Chapter 11 - JavaScript: Arrays
7 Arrays.
JavaScript: Arrays.
10 JavaScript: Arrays.
Presentation transcript:

1 JavaScript: Functions and Arrays October 18, 2005 Slides modified from Internet & World Wide Web: How to Program (3rd) edition. By Deitel, Deitel, and Goldberg. Published by Prentice Hall. ISBN

2 Chapter 10 - JavaScript: Functions Outline 10.1 Introduction 10.2 Program Modules in JavaScript 10.3 Programmer-Defined Functions 10.4 Function Definitions 10.5 Random-Number Generation 10.6 Example: Game of Chance 10.7Another Example: Random Image Generator 10.8 Scope Rules 10.9 JavaScript Global Functions Recursion Recursion vs. Iteration Web Resources

3 Objectives In this tutorial, you will learn: –To understand how to construct programs modularly from small pieces called functions. –To be able to create new functions. –To understand the mechanisms used to pass information between functions. –To introduce simulation techniques that use random-number generation. –To understand how the visibility of identifiers is limited to specific regions of programs.

Program Modules in JavaScript Modules in JavaScript –Functions –Methods Belong to an object –JavaScript includes many useful pre- defined methods Combine with programmer-defined methods to make a program

Program Modules in JavaScript Function calls –Name –Left parenthesis –Arguments separated by commas Constants, variables or expressions –Right parenthesis –Examples: total += parseFloat( inputValue ); total += parseFloat( s1 + s2 );

Programmer-Defined Functions Defining functions –All variables declared in function are called local Do not exist outside current function –Parameters Also local variables –Promotes reusability Keep short Name clearly

Function Definitions Format of a function definition function function-name ( parameter-list ) { declarations and statements } –Function name any valid identifier –Parameter list names of variables that will receive arguments Must have same number as function call May be empty –Declarations and statements Function body (“block” of code)

Function Definitions Returning control –return statement –Can return either nothing, or a value return expression ; –No return statement same as return; –Not returning a value when expected is an error

Function Definitions Writing a function to square two numbers –for loop from 1 to 10 –Pass each number as argument to square –return value of argument multiplied by itself –Display result

10 Calling function square and passing it the value of x.Variable y gets the value of variable x. The return statement passes the value of y * y back to the calling function.

Random-Number Generation Random-number generation introduces element of chance –Math.random var randomValue = Math.random(); –Floating point value between 0 and 1 –Adjust range by scaling and shifting –Math.floor Always round down Math.floor( 1 + Math.random() * 6 )

12 This expression uses method random to generate a random number between 1 and 6. When the controlling expression, face, matches a case label, the respective frequency variable is incremented.

13 RollDie.html (3 of 3) The results of rolling the die 600 times are displayed in a table.

Another Example: Random Image Generator Randomly selecting an image –Images have integer names (i.e., 1.gif, 2.gif, …, 7.gif ) –Generate random number in proper range –Update src property

15 RandomPicture.html (1 of 1) Inserting a random number into the image’s src property with document.write and Math.random

Scope Rules Scope –Portion of program where identifier can be referenced –Inside function is local or function scope Identifiers exist only between opening and closing braces Local variables hide global variables

Scope Rules Scope demonstration –Global variable x initialized to 1 –start has local variable x initialized to 5 –functionA has local variable x initialized to 25 –functionB has no local variable x –Observe output of each function

18 The value of x is incremented. Function functionB multiplies the value of x by 10. Function functionA changes the value of x to 25. To begin the program, variable x is initialized to 1. Function start changes the value of x to 5.

JavaScript Global Functions Global object –Always available –Provides 7 methods –Do not need to explicitly reference Global before method call –Also holds all global variables, user defined functions

JavaScript Global Functions

JavaScript Global Functions

Recursion Recursive functions –Call themselves Recursion step or recursive call Part of return statement –Must have base case Simplest case of problem Returns value rather than calling itself –Each recursive call simplifies input When simplified to base case, functions return

23 JavaScript: Functions and Arrays October 18, 2005 Slides modified from Internet & World Wide Web: How to Program (3rd) edition. By Deitel, Deitel, and Goldberg. Published by Prentice Hall. ISBN

24 Chapter 11 - JavaScript: Arrays Outline 11.1 Introduction 11.2 Arrays 11.3 Declaring and Allocating Arrays 11.4 Examples Using Arrays 11.5Random Image Generator Using Arrays 11.6 References and Reference Parameters 11.7 Passing Arrays to Functions 11.8 Sorting Arrays 11.9 Searching Arrays: Linear Search and Binary Search Multidimensional Arrays 11.11Building an Online Quiz Web Resources

25 Objectives In this tutorial, you will learn: –To introduce the array data structure. –To understand the use of arrays to store, sort and search lists and tables of values. –To understand how to declare an array, initialize an array and refer to individual elements of an array. –To be able to pass arrays to functions. –To be able to search and sort an array. –To be able to declare and manipulate multi- dimensional arrays.

Introduction Arrays –Data structures of related items Also called Collections –Dynamic

Arrays Arrays in JavaScript –Each element referenced by a number Start at “zeroth element” Subscript or index –Accessing a specific element Name of array Brackets Number of element –Arrays know their length length property

Arrays c[ 6 ] Name of array c[ 0 ] c[ 1 ] c[ 2 ] c[ 3 ] c[ 11 ] c[ 10 ] c[ 9 ] c[ 8 ] c[ 7 ] c[ 5 ] c[ 4 ] Position number (index or subscript) of the element within array c Fig. 11.1A 12-element array.

Declaring and Allocating Arrays Arrays in memory –Objects –Operator new Allocates memory for objects Dynamic memory allocation operator var c; c = new Array( 12 ); or var c = new Array( 12 );

Examples Using Arrays Arrays grow dynamically –Allocate more space as items are added Must initialize array elements –Default value is undefined –for loops convenient –Referring to uninitialized elements or elements outside array bounds is an error

31

Examples Using Arrays Possible to declare and initialize in one step –Specify list of values Initializer list var n = [ 10, 20, 30, 40, 50 ]; var n = new Array( 10, 20, 30, 40, 50 ); –Also possible to only initialize some values Leave uninitialized elements blank Uninitialized elements default to “undefined” var n = [ 10, 20,, 40, 50 ];

33

Examples Using Arrays for … in statement –Perform an action for each element in an array –Iterates over array elements Assigns each element to specified variable one at a time –Ignores non-existent elements

35 SumArray.html (1 of 2) Variable element is assigned a subscript in the range of 0 up to, but not including, theArray.length. The for loop sums the values contained in the 10- element integer array called theArray.

Examples Using Arrays Arrays can provide shorter and cleaner substitute for switch statements –Each element represents one case

37 Referencing Array frequency replaces the switch statement used in Chapter 10’s example.

Random Image Generator Using Arrays Cleaner approach than previous version –Specify any file name rather than integers 1-7 –Result of Math.random call is index into array of image file names

39 RandomPicture2.html (1 of 2)

References and Reference Parameters Two ways to pass parameters –Pass-by-value Pass copy of original value Default for numbers, strings and booleans Original variable is unchanged –Pass-by-reference How objects are passed, like arrays Pass location in memory of value Allows direct access to original value Improves performance

Passing Arrays to Functions Name of array is argument –Not necessary to also pass size of array Arrays know their size –Passed by reference Individual elements are passed by value if numbers, strings or booleans Array.join –Creates string containing all array elements –Specify separator

42 PassArray.html (1 of 3) The first call to function outputArray displays the contents of the Array a before it is modified. Function modifyArray multiplies each element by 2.

43 PassArray.html (2 of 3) Again, function outputArray is called to show that the contents of Array a have been modified. Method join takes as its argument a string containing a separator that should be used to separate the elements of the array in the string that is returned. Function modifyElement multiplies the contents of a[ 3 ] by 2. The value of a[ 3 ] is output to show its contents before it is modified.

44 PassArray.html (3 of 3) Multiply each element in theArray by 2.

Sorting Arrays Sorting –Important computing task Array.sort –Defaults to string comparison –Optional comparator function Return negative if first argument less than second Return zero if arguments equal Return positive if first argument greater than second

46 Sort.html (1 of 2) Method sort takes as its optional argument the name of a function that compares two arguments and returns a value of –1, 0 or 1. Function compareIntegers calculates the difference between the integer values of its arguments.

Searching Arrays: Linear Search and Binary Search Searching –Look for matching key value Linear search –Iterate through each element until match found –Inefficient Worst case scenario, must test entire array Binary search –Requires sorted data –Cuts search range in half each iteration –Efficient Only look at small fraction of elements

48 Array a is initiated with 100 elements. Array a is populated with the even integers 0 to 198. LinearSearch.html (2 of 3) Get value of search key from the input field in the XHTML form. Calling function linearSearch and passing it the Array a and the value of variable searchKey as an integer.

49 LinearSearch.html (3 of 3) Variable theArray gets the value of Array a and variable key gets the value of variable searchKey. Function linearSearch compares each each element with a search key.

Searching Arrays: Binary Search Fig Binary search of an array.

Multidimensional Arrays Two-dimensional arrays analogous to tables –Rows and columns Specify row first, then column –Two subscripts

Multidimensional Arrays a[ 1 ][ 0 ]a[ 1 ][ 1 ]a[ 1 ][ 2 ]a[ 1 ][ 3 ] Row 0 Row 1 Row 2 Column 0Column 1Column 2Column 3 Row subscript (or index) Array name Column subscript (or index) a[ 0 ][ 0 ]a[ 0 ][ 1 ]a[ 0 ][ 2 ]a[ 0 ][ 3 ] a[ 2 ][ 0 ]a[ 2 ][ 1 ]a[ 2 ][ 2 ]a[ 2 ][ 3 ] Fig Two-dimensional array with three rows and four columns.

Multidimensional Arrays Declaring and initializing multidimensional arrays –Group by row in square brackets –Treated as arrays of arrays –Creating array b with one row of two elements and a second row of three elements: var b = [ [ 1, 2 ], [ 3, 4, 5 ] ];

Multidimensional Arrays Also possible to use new operator –Create array b with two rows, first with five columns and second with three: var b; b = new Array( 2 ); b[ 0 ] = new Array( 5 ); b[ 1 ] = new Array( 3 );

55 InitArray3.html (1 of 2) Array array1 provides six initializers in two rows. Array array2 provides six initializers in three rows. Function outputArray displays each array’s elements in a Web page.

56 InitArray3.html (2 of 2) Referencing the multidimensional array theArray.

Building an Online Quiz Radio buttons –Represented as an array Name of radio buttons is name of array One element per button –checked property is true when selected XHTML Forms –Contain controls, including radio buttons –action property specifies what happens when submitted Can call JavaScript code

58 Quiz.html (2 of 2) Call the checkAnswers function when the form is submitted.