Chpter 4 - JavaScript
Chpter 4 - JavaScript
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 3 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 4
6/30/2025
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 5 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 6
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 9 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 10
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 11 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 12
6/30/2025
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 13 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 14
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 15 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 16
6/30/2025
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 19 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 20
6/30/2025
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 21 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 22
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 23 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 24
6/30/2025
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 27 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 28
6/30/2025
7. Ternary Operator 8. Type Operators 9. Optional Chaining & Nullish Coalescing Operator(ES11)
Ternary (Conditional) Operator: used as a shorthand for if-else Optional Chaining Operator (ES11): used to safely access nested
statements. properties without causing errors.
Operator Description Example Result Operator Description Example Result
?: Ternary operator let result = (5 > 3) ? "Yes" : "No"; "Yes" Optional undefined (if user is null
?. let name = user?.name;
chaining or undefined)
Type Operators: used to check the type of a variable or object. Nullish Coalescing Operator (ES11): used to provide a default
value for null or undefined.
Operator Description Example Result
typeof Returns the type of a value typeof "Hello" "string" Operator Description Example Result
let x = null ??
Checks if an object is an ?? Nullish coalescing "default"
instanceof [] instanceof Array true "default";
instance of a class
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 29 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 30
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 31 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 32
6/30/2025
If … else if statement:
If … else statement:
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 33 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 34
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 35 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 36
6/30/2025
while loop:
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 37 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 38
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 39 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 40
6/30/2025
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 41 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 42
Array Declaration:
• You can create an array using square brackets [ ] and initialize it
with values.
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 43 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 44
6/30/2025
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 45 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 46
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 47 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 48
6/30/2025
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 49 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 50
Multidimensional Arrays:
Arrays can also contain
other arrays, creating
multidimensional arrays.
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 51 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 52
6/30/2025
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 55 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 56
6/30/2025
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 57 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 58
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 59 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 60
6/30/2025
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 61 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 62
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 63 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 64
6/30/2025
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 65 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 66
JavaScript DOM (Document object Model) JavaScript DOM (Document object Model)
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 67 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 68
6/30/2025
JavaScript DOM (Document object Model) JavaScript DOM (Document object Model)
Navigating the DOM Tree: Using Parent-Child Relationships Manipulating the DOM:
• parentNode → • Change text content (textContent, innerHTML)
Access the parent
of an element • Modify attributes (setAttribute, removeAttribute)
• childNodes → Get • Change styles ([Link] = "red";)
all child nodes
(including text and • Add and remove elements dynamically (createElement()
elements) and appendChild(), removeChild().)
• firstChild / • Event handling (addEventListener)
lastChild → Get
the first/last child
• nextSibling /
previousSibling →
Move between
sibling elements
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 69 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 70
JavaScript DOM (Document object Model) JavaScript DOM (Document object Model)
o Changing Attributes
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 71 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 72
6/30/2025
JavaScript DOM (Document object Model) JavaScript DOM (Document object Model)
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 73 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 74
JavaScript DOM (Document object Model) JavaScript DOM (Document object Model)
Events in JavaScript: Mouse events Events in JavaScript: Mouse events
Event Performed Event Handler Description
click onclick When mouse click on an element
mouseover onmouseover When the cursor of the mouse comes over
the element
mouseout onmouseout When the cursor of the mouse leaves an
element
mousedown onmousedown When the mouse button is pressed over the
element
mouseup onmouseup When the mouse button is released over
the element
mousemove onmousemove When the mouse movement takes place.
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 75 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 76
6/30/2025
JavaScript DOM (Document object Model) JavaScript DOM (Document object Model)
Events in JavaScript: Keyboard events Events in JavaScript: Keyboard events
Event Performed Event Handler Description
Keydown onkeydown Triggered when the key is pressed
down.
Keyup onkeyup Triggered when the key is released.
keypress onkeypress Triggered when a key is pressed and
produces a character. (This event is
now deprecated and only works on
character keys in some browsers.)
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 77 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 78
JavaScript DOM (Document object Model) JavaScript DOM (Document object Model)
Events in JavaScript: Form events Events in JavaScript: Form events
Event Event Description
Performed Handler
focus onfocus Triggered when an input field gains focus
submit onsubmit Triggered when a form is submitted. You can
prevent default form submission for validation
or other purposes.
blur onblur Triggered when an input field loses focus
change onchange Triggered when the value of an input or select
element is changed and the element loses
focus.
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 79 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 80
6/30/2025
JavaScript DOM (Document object Model) JavaScript DOM (Document object Model)
Events in JavaScript: Window events Events in JavaScript: Window events
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 81 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 82
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 83 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 84
6/30/2025
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 85 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 86
JavaScript BOM (Browser Object Model) JavaScript BOM (Browser Object Model)
The Browser Object Model (BOM) allows JavaScript to interact
with the browser window and perform operations like opening
new windows, manipulating the address bar, handling events,
and controlling browser history.
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 87 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 88
6/30/2025
JavaScript BOM (Browser Object Model) JavaScript BOM (Browser Object Model)
Key Components of the BOM: Key Components of the BOM:
• Window Object: The window object represents the browser • Navigator Object: Offers information about the user's browser and
window and provides access to properties like the operating system, such as
o [Link] (for URL), o [Link] - Used to identify the browser and can be
o [Link] (for navigation history), and used to detect the browser type, version, and platform
o [Link] (for the DOM). o [Link] - Returns the preferred language of the user.
o [Link] - Returns true if the browser is connected to
the internet, false if offline.
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 89 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 90
JavaScript BOM (Browser Object Model) JavaScript BOM (Browser Object Model)
Key Components of the BOM: Key Components of the BOM:
• Location Object: The location object represents the current page's • Screen Object: Provides details about the user's screen resolution,
URL and allows manipulation with properties like href and color depth, and more.
methods like assign() for loading a new document and reload() for
reloading the current document.
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 91 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 92
6/30/2025
JavaScript BOM (Browser Object Model) JavaScript BOM (Browser Object Model)
Key Components of the BOM: Key Components of the BOM:
• Timers in BOM: Used to stop or execute code after a delay or at • Events in BOM: BOM events allow interaction between users and
intervals. the browser.
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 93 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 94
JavaScript BOM (Browser Object Model) JavaScript BOM (Browser Object Model)
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 95 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 96
6/30/2025
Assignment I
Remaining ES6+ Features & Introduction to React
Students are required to write the assignment by hand in their notebooks.
Once completed, the notebooks will be reviewed, and marks will be given if necessary.
@ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024 @ WDU: WIT: SCHOOL OF COMPUTING: PROGRAMMING CHAIR 2024
WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 97 WEB PROGRAMMING: CHAPTER 4 (JAVASCRIPT) 98