quartz/content/notes/05-javascript.md
2022-07-29 10:23:33 +12:00

1.6 KiB

title aliases tags sr-due sr-interval sr-ease
05-javascript
lecture
cosc203
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

HTML DOM Diagram|300

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>
  • 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, 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