mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-25 13:54:05 -06:00
1.6 KiB
1.6 KiB
| title | aliases | tags | sr-due | sr-interval | sr-ease | ||
|---|---|---|---|---|---|---|---|
| 05-javascript |
|
2022-08-06 | 8 | 250 |
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
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
<scipt src="script.js" defer></script>deferensures that the js is loaded after the html (in a specific order)asyncensures 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, resize etc
- smoke alarm analogy
- fire is the event
- alarm is the listener
- sound of the alarm is the handler
cookies
- websites can use JS to store cookies on client machines.
- usually server 'serve' the file to the user and nothing else
- cookies allow to server to remember information about the client
document.cookie
limitations
- cannot write to files (apart from cookies)
- cannot execute programs on client computer
- cannot establish a connection to any server except the one it came from (apart from re-directing to a new site)
- cannot read history of brower (but is can cause the brower to move around in the history list)
- not supposed to be able to open an invisible window
