JavaScript & events Flashcards

1
Q

Hvad er JavaScript?

A

et programmeringssprog, der bruges til at gøre websider interaktive, fx ved at håndtere knaptryk, animationer og dynamisk indhold.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hvordan føjes JavaScript til en HTML-fil?

A

tilføjes med <script tagget i HTML, typisk før <body>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Hvilke variabeltyper findes i JavaScript?

A

let → Kan ændres
const → Kan ikke ændres
var → (gammel metode, bør undgås)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hvordan definerer man en variabel?

A

let navn = “zuzu”;
const alder = 30;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hvad er de primitive datatyper i JavaScript?

A

Number → let tal = 23;
String → let tekst = “Hej”;
Boolean → let sandt = true;
Undefined → let tom;
Null → let ingenting = null;
Symbol → let unik = Symbol();
BigInt → let stortTal = 123456789n;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hvad er forskellen på null og undefined?

A

null → En tom værdi sat af udvikleren.
undefined → Variablen er ikke tildelt en værdi.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hvilke matematiske operators findes i JavaScript?

A

+ (addition)
- (subtraktion)
* (multiplikation)
/ (division)
% (modulus, rest)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hvad gør === (strict equality)?

A

Sammenligner både værdi og datatype.
console.log(5 == “5”); ✅
console.log(5 === “5”); ❌

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hvordan definerer man en simpel funktion i JavaScript?

A

function hils() {
console.log(“Hej, verden!”);
}
hils();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hvad sker der, hvis en funktion ikke har return?

A

Funktionen udfører en handling, men returnerer undefined.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hvad er en Arrow Function (=>)?

A

en kortere måde at skrive en funktion i JavaScript på. Gør koden mere læsbar og kompakt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Hvad er console.log?

A

en funktion i JavaScript, der bruges til at udskrive data i browserens udviklingskonsol.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hvad er et objekt i JavaScript?

A

En samling af nøgle-værdi par.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hvad definere en HTML event attribute?

A

definerer en handling, der sker, når en bruger interagerer med en webside.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Hvordan definerer man en event-handler i JavaScript?

A

Man kan bruge addEventListener() eller tilføje en event direkte i HTML.

(eventtype(‘click’), eventhandler(function))

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Nævn vigtige HTML event attributes!!

A

onclick → Når en knap klikkes.
onmouseover → Når musen holdes over et element.
onkeydown → Når en tast trykkes ned.
onload → Når siden er indlæst.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Hvad er DOM-manipulation?

A

betyder, at JavaScript kan ændre HTML og CSS, så indholdet på en webside opdateres uden at genindlæse siden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Hvad er document i JavaScript?

A

en del af DOM (Document Object Model) og repræsenterer hele HTML-dokumentet i JavaScript. Det giver adgang til og mulighed for at ændre HTML-elementer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Hvordan ændrer JavaScript HTML-indhold?

A

Ved at bruge document.querySelector() til at finde et element og ændre dets indhold.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Hvordan reagerer JavaScript på brugerens klik?

A

Ved at bruge event listeners, der kører kode, når en bruger klikker.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Hvordan gemmer man data i browseren?

A

bruge localStorage, som gemmer data, selv efter siden genindlæses.

localStorage.setItem(“navn”, “Zuhur”);
console.log(localStorage.getItem(“navn”));

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Hvad er forskellen mellem setTimeout() og setInterval()?

A
  1. setTimeout() udfører kode én gang efter en forsinkelse(eks. popup besked).
  2. setInterval() gentager kode med et fast tidsinterval. (eks ur)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Hvad er NaN i JavaScript?

A

NaN betyder “Not-a-Number” og opstår, når en beregning giver et ugyldigt tal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Hvad er forskellen på isNaN() og Number.isNaN()?

A
  1. isNaN() konverterer værdien til et tal, før den tester.
  2. Number.isNaN() tester kun, hvis værdien allerede er et tal.

console.log(isNaN(undefined)); // true
console.log(Number.isNaN(undefined)); // false

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Hvad betyder operator precedence i JavaScript?

A

Operator precedence bestemmer rækkefølgen, hvori operatorer evalueres i et udtryk

26
Q

Hvad sker der, hvis et udtryk indeholder flere operatorer med forskellig precedence?

A

Den operator med højere precedence udføres først

27
Q

Hvad betyder associativitet i forhold til operatorer?

A

Associativitet bestemmer, om et udtryk evalueres fra venstre mod højre (left-associative) eller højre mod venstre (right-associative).

28
Q

Hvordan kan man ændre operator precedence i et udtryk?

A

Ved at bruge parenteser (), da de har den højeste precedence og tvinger en bestemt rækkefølge.

29
Q

Hvilken associativitet har assignment-operatoren =?

A

Den er right-associative, hvilket betyder, at evalueringen sker fra højre mod venstre.

let x, y, z;
x = y = z = 10; // Alle får værdien 10

30
Q

Hvad bliver værdien af a og b i dette eksempel?
let a, b;
a = b = 5;

A

b bliver sat til 5, derefter bliver a sat til værdien af b, så både a og b bliver 5

31
Q

Hvad er forskellen på en unary og en binary operator?

A
  1. unary operator opererer på én operand (fx !true) (Kun én værdi at arbejde med)
  2. binary operator opererer på to operander (fx 3 + 5) (Kræver to værdier)
32
Q

Hvordan fungerer precedence for unary og binary operatorer?

A

Unary operatorer som ! har typisk højere precedence end binary operatorer som + og -

33
Q

Hvad bliver resultatet af følgende udtryk?:
const a = 1;
const b = 2;
console.log(typeof a + b);

A

“number2”, fordi typeof a evalueres først (“number”) og derefter concatenates med b

34
Q

Hvad betyder short-circuiting i JavaScript?

A

Betyder, at en operator kan stoppe evalueringen tidligt, hvis det ikke er nødvendigt at evaluere resten.

let isLoggedIn = false && “Welcome!”;
console.log(isLoggedIn); // false

35
Q

Hvilke operatorer i JavaScript er short-circuiting?

A

&& (AND), || (OR), ?? (nullish coalescing) og ?. (optional chaining)

36
Q

Hvilken metode bruges til at vælge alle elementer med en bestemt klasse?

A

document.getElementsByClassName() eller document.querySelectorAll(), hvor den første returnerer en live HTMLCollection og den anden returnerer en statisk NodeList.

37
Q

Hvordan opretter man et nyt HTML-element med JavaScript?

A

Ved at bruge document.createElement(“tagname”) og derefter tilføje det til DOM’en med metoder som append(), prepend(), before() eller after().

38
Q

Hvad er forskellen mellem append() og prepend()?

A

append() tilføjer et element som det sidste barn i en forælder, mens prepend() indsætter det som det første barn.

39
Q

Hvordan kan JavaScript ændre CSS-styling på et element?

A

Ved at bruge element.style.propertyName = “value”, f.eks. element.style.color = “red”

40
Q

Hvad er event bubbling?

A

Når en begivenhed (event) starter på det målrettede element og derefter bobler op til dets forældre i DOM’en.

41
Q

Hvad er event capturing?

A

Det er det modsatte af event bubbling, hvor en event fanges fra forældreelementet først og derefter bevæger sig nedad i DOM’en.

42
Q

Hvordan vælger man et HTML-element med JavaScript?

A

Brug document.getElementById(), document.querySelector() eller document.querySelectorAll()

43
Q

Hvad gør document.querySelector(“.klasse”)?

A

Den finder og returnerer det første HTML-element, der matcher en CSS-selektor. I parentesen skal der være en streng (“”) med en CSS-selektor, f.eks.:
Klasse: “.classnavn”
Id: “#idnavn”
Tag: “p”

44
Q

Hvad gør document.getElementById(“minKnap”)?

A

finder og returnerer et HTML-element med det specifikke id. I parentesen skal der være en streng (“”) med id’et på elementet, f.eks. “minKnap”.

45
Q

Hvad gør document.addEventListener(event, funktion)?

A

Den lytter efter en handling på hele dokumentet og kører en funktion, når den sker. I parentesen skal der være en eventtype (f.eks. “DOMContentLoaded”, “keydown”) og en funktion, der skal udføres, når eventet sker.

46
Q

Hvad gør element.addEventListener(event, funktion)?

A

Den lytter efter en handling på et specifikt element og kører en funktion. I parentesen skal der være en eventtype (f.eks. “click”, “mouseover”) og en funktion, der skal udføres, når eventet sker.

47
Q

Hvad menes der med, at DOM er ligesom et træ?

A

strukturerer HTML som et hierarkisk træ, hvor HTML-elementer er “grene”, og de kan have “børn” og “forældre”. Hvert element er en “node” i træet.

48
Q

Bliver javascript kompileret

A

nej javascript er ikke et kompileret sprog

49
Q

Hvordan ændrer man skriftstørrelsen på et element?

A

element.style.fontSize = “20px”;

50
Q

Hvordan henter man et elements nuværende skriftstørrelse?

A

getComputedStyle(element).fontSize

51
Q

debugger

52
Q

Hvad betyder asynkron programmering?

A

betyder, at kode kan køre i baggrunden uden at blokere resten af programmet. Det bruges ofte til netværksanmodninger, filhåndtering og tidskrævende opgaver.

53
Q

Hvad er forskellen på synkron og asynkron kode?

A

Synkron kode: Kører linje for linje, én ad gangen.

Asynkron kode: Tillader visse dele af koden at vente på eksterne processer, mens resten af programmet fortsætter.

54
Q

Hvad er et Promise?

A

et JavaScript-objekt, der håndterer asynkrone operationer. Det kan enten:

Resolved (fulfilled) → Når opgaven lykkes.
Rejected → Når opgaven fejler.

55
Q

Hvad er en executor function i et Promise?

A

funktionen, der køres, når Promise oprettes. Den tager resolve og reject som argumenter for at definere, hvad der sker, når operationen lykkes eller fejler.

56
Q

Hvordan håndterer man et resolved Promise?

A

.then(result => {…}) bruges til at hente det løste resultat af et Promise.

57
Q

Hvordan håndterer man et rejected Promise?

A

.catch(error => {…}) bruges til at håndtere fejl fra et Promise.

58
Q

Hvad er en Promise consumer?

A

En consumer er en del af koden, der venter på et Promise-resultat og reagerer, når det bliver resolved eller rejected.

59
Q

Hvad er en Promise Chain?

A

En Promise Chain er, når flere .then()-metoder kædes sammen, så næste .then() venter på den forrige at blive løst.

60
Q

Hvad gør .catch() i et Promise?

A

Den fanger fejl i Promises og håndterer dem.

61
Q

Hvad gør .finally() i et Promise?

A

kører uanset om Promiset blev resolved eller rejected og bruges ofte til oprydning.

62
Q

Hvad er async og await i JavaScript?

A
  1. async gør en funktion asynkron og returnerer altid et Promise.
  2. await pauser koden, indtil Promiset er resolved.