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)
- Event loop and the stack.
- Event object ex. .stopPropagation, .preventDefault, .target
- clientX vs pageX vs offsetX
- Event Handlers: addEventListener, removeEventListener, onclick
- Event flow: bubbling and capturing (stop propagation)
- Object Handlers: handleEvent
- Event delegation
- eventhandler (this) vs bind()
- Keyboard events: key vs. code, keyup/keydown.
- Pointer events: pointerdown, pointermove, pointerup
DOM (Vika 38)
- Skilja uppsetningu á Document Object Model (DOM) tré útfrá nodes (Node, Element, HTLMElement)
- NodeList (statc vs live), HTMLCollection
- DOM Selectors: .querySelector, .querySelectorAll., .getElementById, .getElementsByName(), .getElementsByTagName, .getElementsByClassName
- CSS Selectors (notaðir með .querySelector/.querySelectorAll): einfaldir og samsettir
- Traversing elements: .parentNode, .firstChild/.lastChild, .childNodes/.children, .nextSibling/.previouSibling
- Manipulating elements: .nodeValue, .textContent, innerText, .createElement, .innerHTML/.outerHTML, DocumentFragment, insertAdjacentHTML
- Manipulationg elements: .append/.prepend, .after/.before, .remove
- Attribute Nodes: .setAttributeNode, .getAttribute, .removeAttribute, .hasAttribute, data-* og .dataset
- Manipulating styles (CSS): .className, .classList, .style,