--- title: "05-javascript" aliases: tags: - lecture - cosc203 --- # Javascript ## DOM - JS can access and change all the elements of an HTML document - When a webpage is loaded, the browser creates a DOM of the page - The HTML DOM model is contructed as a tree of Objects ![HTML DOM Diagram|300](https://i.imgur.com/2TZ2i1c.png) JS can: - change elements - change attributes - change styles - remove elements - add new elements - react to events - create new events JS is - descriptive - structued - interpreted can be linked externally - `` - `defer` ensures that the js is loaded after the html (in a specific order) - `async` ensures that the js is run as soon as it is loaded (not in a specific order) typing - js is dynamically typed - you dont need to specify the type of variable events - e.g., click, hover, etc -