Undirbúningur fyrir prófið - GunnarThorunnarson/FORR3JS05DU GitHub Wiki

Skriflegt próf (35%)

  • Skriflegt próf í JavaScript verður á miðvikudaginn 23. september kl: 14:35 - 16:15 í Hátíðarsalnum.
  • Prófið gildir 35% og er lykilmatsþáttur (það þarf að ná lágmarkseinkunn 5.0 í prófinu til að standast próf, upptökupróf verður 13.10.26)
  • Prófið samanstendur af krossaspurningum og skriflegum stuttum kóðaverkefnum.
  • Engin hjálpargögn eru leyfð í prófi.
  • Prófað er úr skilningi á öllu efni áfangans skv. kennsluáætlun í Canvas á tímabilinu 17.08.26 - 20.09.26.
  • Það verður ekki prófað úr HTML5 Canvas.

Gátlisti (ekki tæmandi)

Málfræði (Vika 34 og 35 og Verkefni 1)

  • Datatypes; null, undefined, boolean, number (NaN), string, symbol, bigint
  • Use strict
  • Variables; var, let, const
  • Template literals
  • Comparison == vs. ===
  • Logical operators ( && , || , ! )
  • Control flow; if, if...else, ternary, while, switch, for, for...in, for...of
  • Objects (complex data types), object methods, object references, this
  • Copying values vs. reference values
  • Array and Array methods: forEach, push, pop, shift, unshift, splice, slice, find, filter, map
  • Rest parameters and spread
  • Data structure; Array of objects, nested objects
  • Map and Set
  • Functions and parameters, function expression, arrow functions, recursive functions
  • Scope (global, local/function, block)
  • Class basics, Class inheritance

Ekki: prototype, closure, Garbage collection, Symbol type, WeakMap and WeakSet, Date and time, call/apply, static/private/protect, Mixins

Events (Vika 36)

  1. Event loop and the stack.
  2. Event object ex. .stopPropagation, .preventDefault, .target
  3. clientX vs pageX vs offsetX
  4. Event Handlers: addEventListener, removeEventListener, onclick
  5. Event flow: bubbling and capturing (stop propagation)
  6. Object Handlers: handleEvent
  7. Event delegation
  8. eventhandler (this) vs bind()
  9. Keyboard events: key vs. code, keyup/keydown.
  10. Pointer events: pointerdown, pointermove, pointerup

DOM (Vika 38)

  1. Skilja uppsetningu á Document Object Model (DOM) tré útfrá nodes (Node, Element, HTLMElement)
  2. NodeList (statc vs live), HTMLCollection
  3. DOM Selectors: .querySelector, .querySelectorAll., .getElementById, .getElementsByName(), .getElementsByTagName, .getElementsByClassName
  4. CSS Selectors (notaðir með .querySelector/.querySelectorAll): einfaldir og samsettir
  5. Traversing elements: .parentNode, .firstChild/.lastChild, .childNodes/.children, .nextSibling/.previouSibling
  6. Manipulating elements: .nodeValue, .textContent, innerText, .createElement, .innerHTML/.outerHTML, DocumentFragment, insertAdjacentHTML
  7. Manipulationg elements: .append/.prepend, .after/.before, .remove
  8. Attribute Nodes: .setAttributeNode, .getAttribute, .removeAttribute, .hasAttribute, data-* og .dataset
  9. Manipulating styles (CSS): .className, .classList, .style,