Which class contains methods and properties for performing mathematical calculations in JavaScript?

1 Chapter 6 Object-Oriented Java Script JavaScript, Third Edition

2 2 Objectives Study object-oriented programming Learn about the built-in JavaScript objects Work with the Array, Date, Math, and Number objects Define custom JavaScript objects

3 JavaScript, Third Edition 3 Introduction to Object-Oriented Programming Object-oriented programming allows you to reuse code without having to copy or recreate it

4 JavaScript, Third Edition 4 Reusable Software Object-oriented programming (OOP): –Refers to the creation of reusable software objects that can be easily incorporated into multiple programs Object: –Specifically refers to programming code and data that can be treated as an individual unit or component

5 JavaScript, Third Edition 5 Reusable Software (Cont.) Data: –Refers to information contained within variables or other types of storage structures Objects can range from simple controls such as a button, to entire programs such as a database application

6 JavaScript, Third Edition 6 Reusable Software (Cont.) Popular object-oriented programming languages include C++, Java, and Visual Basic Using any of these or other object-oriented languages: –Programmers can create objects themselves or use objects created by other programmers

7 JavaScript, Third Edition 7 Encapsulation Objects are encapsulated: –All code and required data are contained within the object itself Encapsulation: –Places code inside what programmers like to call a “black box” –When an object is encapsulated, you cannot see “inside” it—all internal workings are hidden

8 JavaScript, Third Edition 8 Encapsulation (Cont.) The code (methods and statements) and data (variables and constants) contained in an encapsulated object are accessed through an interface Interface: –Represents elements required for a source program to communicate with an object

9 JavaScript, Third Edition 9 Encapsulation (Cont.) The principal of information hiding states that: –Any class members that other programmers do not need to access or know about should be hidden

10 JavaScript, Third Edition 10 Encapsulation (Cont.) Encapsulation prevents other programmers from: –Accidentally introducing a bug into a program –Stealing the code and claiming it as their own

11 JavaScript, Third Edition 11 Encapsulation (Cont.)

12 JavaScript, Third Edition 12 Classes In object-oriented programming: –Code, methods, attributes, and other information that make up an object are organized into classes Class: –Template, or blueprint, that serves as the basis for new objects Instance: –Object that has been created from an existing class Called instantiating the object

13 JavaScript, Third Edition 13 Classes (Cont.) A particular instance of an object inherits its methods and properties from a class: –It takes on the characteristics of the class on which it is based

14 JavaScript, Third Edition 14 Built-in JavaScript Classes

15 JavaScript, Third Edition 15 Instantiating an Object You can use some of the built-in JavaScript objects directly in your code Other objects require you to instantiate a new object

16 JavaScript, Third Edition 16 Garbage Collection Refers to cleaning up, or reclaiming, memory that is reserved by a program JavaScript knows when a program no longer needs a variable or object –Automatically cleans up the memory

17 JavaScript, Third Edition 17 Array Class The Array class creates new array objects When creating an array using the Array() constructor, an object from the Array class is instantiated In addition to the Array() constructor, the Array class contains: –Methods and properties for manipulating the elements of an array

18 JavaScript, Third Edition 18 Array Class Methods

19 JavaScript, Third Edition 19 The Length Property Returns the number of elements in an array You append the length property to the name of the array you want to sort using the following syntax: array_name.length;

20 JavaScript, Third Edition 20 Date Class Contains methods and properties for manipulating the date and time The Date object allows you to use the current date and time in your JavaScript programs You create a new instance of the Date class using the syntax var dateObject = new Date();

21 JavaScript, Third Edition 21 Date Class (Cont.)

22 JavaScript, Third Edition 22 Number Class Contains methods for manipulating numbers and properties that contain static values representing some of the numeric limitations in the JavaScript language

23 JavaScript, Third Edition 23 Number Class Methods

24 JavaScript, Third Edition 24 Number Class Properties

25 JavaScript, Third Edition 25 Math Class The Math class contains methods and properties for performing mathematical calculations in your programs

26 JavaScript, Third Edition 26 Math Class Methods

27 JavaScript, Third Edition 27 Math Class Methods (Cont.)

28 JavaScript, Third Edition 28 Math Class Properties

29 JavaScript, Third Edition 29 Custom JavaScript Objects JavaScript is not a true object-oriented programming language: –Base objects in your programs on built-in JavaScript classes such as the Array and Date objects –However, you cannot create your own classes in JavaScript –You can define your own custom objects using a constructor function

30 JavaScript, Third Edition 30 Constructor Function A function used as the basis for a custom object JavaScript objects inherit all the variables and statements of the constructor function on which they are based Any JavaScript function can serve as a constructor

31 JavaScript, Third Edition 31 Properties To add a property to a constructor function: –You must add a statement to the function body that uses the this keyword with the following syntax: this.property_name = value; –In the case of a custom JavaScript object, the this keyword refers to the object that calls the constructor function

32 JavaScript, Third Edition 32 Methods You can create a function that will be used as an object method: –By referring to any object properties using the this reference

33 JavaScript, Third Edition 33 The prototype Property The prototype property is a built-in property: –Specifies the constructor from which an object was extended

34 JavaScript, Third Edition 34 Chapter Summary Object-Oriented programming (OOP): –Refers to the creation of reusable software objects that can be easily incorporated into another program Components: –Reusable software objects Object: –Programming code and data that can be treated as an individual unit or component

35 JavaScript, Third Edition 35 Chapter Summary (cont.) Objects are encapsulated: –All code and required data are contained within the object itself Interface : –Represents elements required for a source program to communicate with an object The principal of information hiding: –States that any class members that other programmers do not need to access or know about should be hidden

36 JavaScript, Third Edition 36 Chapter Summary (cont.) In object-oriented programming: –Code, methods, attributes, and other information that make up an object are organized using classes An instance: –Object created from an existing class An object inherits, or takes on, the characteristics of the class on which it is based The Date class: –Contains methods and properties for manipulating the date and time

37 JavaScript, Third Edition 37 Chapter Summary (cont.) The Number class: –Contains methods for manipulating numbers and properties that The this keyword: –Refers to the current object The prototype property: –Built-in property that specifies the constructor from which an object was extended