JavaScript DOM eksamensoppgaver

Dette studiematerialet dekker viktige konsepter og termer relatert til JavaScript DOM, som er essensielt for webutvikling. Hver kort oppsummerer et viktig begrep i DOM-manipulering med JavaScript.

AndreasA9·64 flashkort·64 spørsmål
universitetcomputer_scienceweb
0
Kjent
1 / 64
0
Lærer
Forside

Hva er DOM?

Trykk for å vende
Bakside

DOM står for Document Object Model. Det er en programmeringsgrensesnitt for HTML- og XML-dokumenter som gjør det mulig for programmer å manipulere innhold, struktur og stil.

Trykk for å vende
Skjønner
Lærer fortsatt

Quiz(64 spørsmål)

Spørsmål 1 av 64

1. Hva står DOM for?

Begreper i dette studiesettet(64)

Grunnleggende DOM-konsepter(16)

Hva er DOM?

DOM står for Document Object Model. Det er en programmeringsgrensesnitt for HTML- og XML-dokumenter som gjør det mulig for programmer å manipulere innhold, struktur og stil.

Hva står DOM for?

DOM står for Document Object Model.

Hvordan er DOM-strukturen organisert?

DOM-strukturen er organisert i en trestruktur med noder. Hver node representerer et element, attributt eller tekst i dokumentet.

Hva er en node?

En node er et grunnleggende element i DOM. Det kan være en elementnode, tekstnode eller kommentar-node.

Elementnode vs tekstnode?

Elementnode representerer HTML-elementer, mens tekstnode representerer tekstinnhold i disse elementene.

Hvordan navigere i DOM?

Du kan navigere i DOM ved hjelp av metoder som 'getElementById', 'getElementsByClassName' og 'querySelector'.

Hva er hovedkomponentene i DOM?

Hovedkomponentene inkluderer: 1. Document 2. Elementer 3. Attributter 4. Tekst 5. Kommentarer.

Er det true eller false? 'DOM er statisk.'

False. DOM er dynamisk og kan endres ved hjelp av JavaScript.

Hva er en rot-node?

Rot-noden er den øverste noden i DOM-treet, vanligvis representert av 'document'.

Fyll inn blank: Hver ______ i DOM kan ha barn.

Hver node i DOM kan ha barn. Barn kan være andre noder.

Hvilken metode brukes for å hente et element ved ID?

'getElementById' er metoden som brukes for å hente et element basert på dets ID-attributt.

Hva er et attributt i DOM?

Et attributt gir ekstra informasjon om et element. For eksempel, 'src' i et <img>-element.

Hva er en tekstnode?

En tekstnode inneholder den faktiske teksten i et DOM-element. Den representerer innholdet mellom åpning og lukking av et element.

Hva er forskjellen mellom 'childNodes' og 'children'?

'childNodes' inkluderer alle typer noder, mens 'children' bare inkluderer elementnoder.

Hva representerer 'document' i DOM?

'document' representerer hele HTML- eller XML-dokumentet og er inngangspunket for å få tilgang til DOM.

Hvordan kan du sjekke om en node har barn?

Du kan sjekke 'hasChildNodes()' metoden for å se om en node har barn.

Manipulering av DOM(16)

querySelectorMetoden

En metode for å hente det første elementet som passer til en CSS-velger. Brukes ofte for å få tilgang til spesifikke DOM-elementer.

createElement

Metode for å lage et nytt DOM-element. Brukes for å dynamisk generere HTML-elementer i JavaScript.

appendChild

Legger til et nytt barn-element til et eksisterende DOM-element. - Nytt element - Forelder - Struktur endres

true or false: innerHTML kan brukes til å endre et elements innhold.

Sant. innerHTML setter eller henter HTML-innholdet til et element, noe som gjør det enkelt å oppdatere visningen.

replaceChild

Erstatter et eksisterende barn-element med et nytt. Nytt element må være en DOM-node.

Hvordan fjerne et element?

Bruk removeChild på foreldreelementet. Eksempel: ```javascript parent.removeChild(child); ```

setAttribute

Setter eller endrer en attributt for et DOM-element. Nyttig for å manipulere egenskaper som src og class.

insertBefore

Setter et nytt barn-element før et eksisterende barn i DOM-strukturen. - Foreldre - Nytte ved rekkefølge

true or false: DOM-elementer kan ikke ha flere klasser.

Falsk. DOM-elementer kan ha flere klasser ved å bruke setAttribute eller classList.

classList.add

Legger til en eller flere klasser til et DOM-element. Dette gir muligheter for dynamisk styling utan å overskrive eksisterende klasser.

textContent vs innerHTML

textContent henter eller setter tekstinnhold, mens innerHTML henter eller setter HTML-innhold. - Sikkerhet - Ytelse

CloneNode

Metode for å lage en kopi av et DOM-element. Kan kopiere med eller uten barn-elementer.

how to change style?

Bruk element.style for å endre CSS-stiler direkte. Eksempel: element.style.color = 'red';

removeAttribute

Fjerner en spesifisert attributt fra et DOM-element. Brukes til å rydde opp i elementets attributter.

true or false: du kan manipulere DOM uten JavaScript.

Falsk. JavaScript er nødvendig for å programmere manipulering av DOM.

parentNode

Gir tilgang til foreldreelementet til et spesifisert DOM-element. Viktig for navigering i DOM-strukturen.

Hendelseshåndtering(16)

Hendelseshåndtering

Prosessen med å registrere og reagere på brukerinteraksjoner i webapplikasjoner.

Hva er en hendelse?

En hendelse er en handling eller en forekomst som skjer i DOM, som klikk, tastetrykk eller musbevegelser.

Event Listener

En funksjon som venter på og reagerer på en bestemt hendelse på et DOM-element.

Syntetiske hendelser

Hendelser som genereres av JavaScript-kode i stedet for brukeren, for eksempel ved bruk av `dispatchEvent`.

True or False: Alle DOM-elementer kan ha hendelseshåndterere.

True. Alle DOM-elementer kan registrere hendelseshåndterere for forskjellige typer hendelser.

Event Bubbling vs. Event Capturing

Bubbling: Hendelser går fra barn til foreldre. Capturing: Hendelser går fra foreldre til barn.

Hva er 'preventDefault()'?

En metode som forhindrer den normale oppførselen til en hendelse, som å hindre en lenke fra å navigere.

Hvilken metode brukes for å fjerne en hendelseshåndterer?

Metoden `removeEventListener()` brukes for å fjerne en tidligere registrert hendelseshåndterer.

Hendelsesobjekt

Et objekt som inneholder informasjon om hendelsen, som `target`, `type`, og `timestamp`.

Hva er 'this' i en hendelseshåndterer?

Refererer til DOM-elementet som hendelsen er tilknyttet, og gir tilgang til dets egenskaper.

Hendelse delegasjon

En teknikk der en enkelt hendelseshåndterer plasseres på et overordnet element for å håndtere hendelser for barn.

Hvilket event triggeres når en musklikk skjer?

Eventet 'click' triggeres når en bruker klikker på et DOM-element.

Fill in the blank: '_____ handler om å fange hendelser på et overordnet nivå og delegere dem til barnelementer.'

'Hendelsesdelegasjon' handler om å fange hendelser på et overordnet nivå og delegere dem til barnelementer.

Hva er 'stopPropagation()'?

En metode som stopper videre videreføring av hendelsen i bubbling eller capturing-fasen.

Eksempel på bruk av 'addEventListener'

document.getElementById('knapp').addEventListener('click', funksjon); // Legger til en klikkhendelseshåndterer

Hva er 'setTimeout()'?

'setTimeout()' er en JavaScript-funksjon som brukes til å forsinke utførelsen av en funksjon eller et uttrykk. Den tar to argumenter: funksjonen som skal kjøres, og tiden i millisekunder før den kjøres. Eksempel: setTimeout(() => { console.log('Hendelse utført!'); }, 1000); // Kalles etter 1 sekund

Avansert DOM-interaksjon(16)

Virtuell DOM

En representasjon av DOM i minnet. Den gjør oppdateringer raskere ved å minimere direkte manipulasjon av DOM.

Hvilken metode brukes for å oppdatere DOM effektivt?

Bruk av 'diffing' og batchoppdateringer sikrer at færre endringer kreves, og forbedrer ytelsen.

Er det sant at flere reflow kan redusere ytelsen?

Sant. Reflow innebærer omberegning av layout, som er kostbart i ytelse.

Event Delegation

En teknikk som gjør at man kan håndtere hendelser på et overordnet element, i stedet for individuelle elementer. Reduserer antall event listeners.

Sammenlign innerHTML og createElement.

innerHTML er enklere, men kan føre til sikkerhetsproblemer. createElement er mer sikker og tillater bedre kontroll.

Hvilken situasjon er best for å bruke requestAnimationFrame?

Når man skal animere eller oppdatere DOM basert på synkronisering med skjermoppdateringer for å forbedre ytelsen.

Hva er 'throttling'?

En teknikk for å begrense antall ganger en funksjon kan kjøres, spesielt under rullering eller vindusstørrelse endringer.

Bør man bruke inline-stiler i DOM-manipulasjon?

Generelt nei; det er bedre å bruke CSS-klasser for å holde stil og logikk adskilt.

Hvilken metode kan brukes for å fjerne elementer fra DOM?

removeChild() fjerner et spesifisert barn fra DOM, som også kan hjelpe med minnehåndtering.

Hvordan kan man optimalisere bilder i DOM?

Bruk av lazy loading kan redusere initial lastetid ved å laste bilder kun når de trengs.

Hvilken effekt har bruk av 'documentFragment'?

Det reduserer antall reflows ved å muliggjøre batch-manipulering av DOM før elementene settes inn.

Skriv et kort eksempel på bruk av setTimeout.

setTimeout(() => { console.log('Hei!'); }, 1000); // Viser 'Hei!' etter 1 sekund.

Hva er en 'MutationObserver'?

Et objekt som kan overvåke endringer i DOM og kan trigge handlinger når endringer oppdages.

Hvilket problem løser 'shadow DOM'?

Den isolerer stiler og skripter i komponenter, noe som hindrer konflikter med globale stiler.

Beskriv 'debouncing'.

En teknikk for å forsinke utførelse av en funksjon til en viss tid har gått etter den siste hendelsen. Brukt for optimalisering.

Hva er 'Intersection Observer'?

'Intersection Observer' er en API som lar utviklere overvåke synligheten av DOM-elementer i forhold til viewporten. Dette gjør at man kan optimalisere ytelsen ved å lastes inn innhold bare når det er synlig for brukeren, noe som reduserer unødvendig ressursbruk.

Spørsmål i dette studiesettet(64)

1. Hva står DOM for?

A.Document Object Model
B.Dynamic Object Model
C.Document Oriented Model
D.Dynamic Oriented Model

2. Hva gjør querySelector-metoden i JavaScript?

A.Henter det første elementet som matcher en CSS-velger.
B.Oppretter et nytt DOM-element.
C.Fjerner et barn-element fra et foreldreelement.
D.Setter en attributt for et DOM-element.

3. Hva beskriver prosessen med å registrere og reagere på brukerinteraksjoner i webapplikasjoner?

A.Hendelseshåndtering
B.DOM-manipulering
C.Asynkron programmering
D.Styling med CSS

4. Hva er formålet med den virtuelle DOM?

A.Å forbedre ytelsen ved å minimere direkte DOM-manipulering.
B.Å lagre alle elementer i nettleseren permanent.
C.Å synkronisere data mellom server og bruker.
D.Å redusere størrelsen på JavaScript-filer.

5. Hvordan er DOM-strukturen organisert?

A.Som en liste
B.I en sirkel
C.I et tre
D.Som et grafikkdiagram

6. Hvordan oppretter man et nytt DOM-element?

A.Ved å bruke createElement-metoden.
B.Ved å bruke appendChild-metoden.
C.Ved å bruke innerHTML.
D.Ved å bruke setAttribute.

7. Hvilken metode brukes for å stoppe standardoppførselen til en hendelse?

A.preventDefault()
B.stopPropagation()
C.addEventListener()
D.removeEventListener()

8. Hvilken metode er best for å oppdatere DOM med høy ytelse?

A.Bruk av diffing og batchoppdateringer.
B.Direkte oppdatering av elementer en om gangen.
C.Å bruke setTimeout for forsinkede oppdateringer.
D.Å manipulere CSS direkte.

9. Hva er en rot-node i DOM?

A.Den nederste noden i treet
B.Den øverste noden i treet
C.En hvilken som helst node
D.En node uten barn

10. Hva skjer når du bruker appendChild?

A.Legger til et nytt barn-element til et eksisterende DOM-element.
B.Fjerner et barn-element fra foreldreelementet.
C.Endrer stilen til et DOM-element.
D.Setter en attributt for et DOM-element.

11. Hvilken hendelse utløses når en bruker klikker på et DOM-element?

A.click
B.mouseover
C.keydown
D.focus

12. Er det sant at flere reflow kan redusere ytelsen?

A.Ja, det er kostbart i ytelse.
B.Nei, det forbedrer faktisk ytelsen.
C.Ja, men bare i mobile enheter.
D.Nei, det har ingen innvirkning.

13. Hvilken metode brukes for å hente et element ved ID?

A.getElementByClassName
B.getElementByTagName
C.getElementById
D.querySelectorAll

14. Er det korrekt at innerHTML kan brukes til å endre innholdet til et element?

A.Sant.
B.Falsk.
C.Kun i visse tilfeller.
D.Bare for tekstinnhold.

15. Hvilket av følgende beskriver best 'event bubbling'?

A.Hendelser går fra barn til foreldre
B.Hendelser går fra foreldre til barn
C.Hendelser forhindres fra å bli utført
D.Hendelser opprettes av JavaScript

16. Hva er event delegation?

A.Håndtering av hendelser på et overordnet element.
B.Å opprette flere event listeners for hvert element.
C.En metode for å fjerne alle event listeners.
D.En teknikk for å animere DOM-elementer.

17. Hva er forskjellen mellom 'childNodes' og 'children'?

A.De er helt like
B.'childNodes' inkluderer kun tekstnoder
C.'children' inkluderer alle typer noder
D.'childNodes' inkluderer alle typer noder

18. Hva gjør replaceChild-metoden?

A.Erstatter et eksisterende barn-element med et nytt.
B.Legger til et nytt barn-element.
C.Fjerner et barn-element fra forelderen.
D.Kopierer et DOM-element.

19. Hva gjør metoden 'stopPropagation()'?

A.Den stopper videreføring av hendelsen
B.Den forhindrer standard handlinger
C.Den fanger hendelser på et overordnet nivå
D.Den fjerner en hendelseshåndterer

20. Hvilken av følgende er en ulempe med innerHTML?

A.Det kan føre til sikkerhetsproblemer.
B.Det er mer tidkrevende enn createElement.
C.Det kan ikke brukes til å oppdatere tekstinnhold.
D.Det er ikke støttet av alle nettlesere.

21. Hva er et attributt i DOM?

A.En type node
B.En del av teksten
C.Ekstra informasjon om et element
D.En metode for å navigere

22. Hvordan kan man fjerne et DOM-element?

A.Ved å bruke removeChild-metoden på foreldreelementet.
B.Ved å bruke removeAttribute.
C.Ved å bruke innerHTML.
D.Ved å bruke setAttribute.

23. Hvilket objekt inneholder informasjon om en hendelse?

A.Hendelsesobjekt
B.Event Listener
C.DOM-element
D.Hendelseshåndterer

24. Når er det best å bruke requestAnimationFrame?

A.Når man skal animere DOM-elementer.
B.For å oppdatere innholdet i en datatabell.
C.Når man ønsker å forsinke funksjonsutførelse.
D.For å laste inn eksterne skript.

25. Hvordan kan du sjekke om en node har barn?

A.Ved å bruke 'hasChildren()'
B.Ved å bruke 'isLeaf()'
C.Ved å bruke 'hasChildNodes()'
D.Ved å bruke 'childCount()'

26. Hva gjør setAttribute-metoden?

A.Setter eller endrer en attributt for et DOM-element.
B.Fjerner en attributt fra et DOM-element.
C.Oppretter et nytt DOM-element.
D.Henter HTML-innholdet til et element.

27. Hva er 'event delegation'?

A.En teknikk for å håndtere hendelser på foreldreenheter
B.En metode for å lage syntetiske hendelser
C.En funksjon som stopper hendelser
D.En strategi for å fjerne hendelseshåndterere

28. Hva innebærer throttling?

A.Å begrense antall ganger en funksjon kan kjøres.
B.Å redusere størrelsen på JavaScript-filer.
C.Å umiddelbart utføre en funksjon ved hendelser.
D.Å fjerne ubrukte variabler.

29. Hva er en tekstnode?

A.En node som inneholder metadata
B.En node med HTML-elementer
C.En node som inneholder den faktiske teksten
D.En node for kommentarer

30. Hva skjer ved bruk av insertBefore?

A.Setter et nytt barn-element før et eksisterende barn i DOM-strukturen.
B.Fjerner et spesifisert barn-element.
C.Kopierer et DOM-element.
D.Legger til et barn-element til slutten.

31. Hvilken funksjon brukes for å legge til en hendelseshåndterer?

A.addEventListener()
B.removeEventListener()
C.dispatchEvent()
D.preventDefault()

32. Bør inline-stiler brukes i DOM-manipulasjon?

A.Generelt nei, bruk CSS-klasser i stedet.
B.Ja, fordi de er raskere å implementere.
C.Ja, men bare for små prosjekter.
D.Nei, de er alltid ubrukelige.

33. Hvordan navigere i DOM?

A.Ved hjelp av navigasjonsmenyer
B.Ved hjelp av 'getElementById' og lignende metoder
C.Ved å bruke CSS-stiler
D.Ved å bruke JavaScript-funksjoner

34. Er det sant at DOM-elementer ikke kan ha flere klasser?

A.Falsk.
B.Sant.
C.Kun med setAttribute.
D.Kun med classList.

35. Fyll inn det tomme feltet: '_____ brukes til å forsinke utførelsen av en funksjon.'

A.setTimeout()
B.setInterval()
C.clearTimeout()
D.clearInterval()

36. Hvilken metode brukes for å fjerne elementer fra DOM?

A.removeChild()
B.deleteElement()
C.removeElement()
D.detach()

37. Hvilket av følgende kan ikke være en node i DOM?

A.Elementnode
B.Attributtnode
C.Tekstnode
D.Kommentar-node

38. Hva gjør classList.add-metoden?

A.Legger til en eller flere klasser til et DOM-element.
B.Fjerner en klasse fra et DOM-element.
C.Setter en stil for et DOM-element.
D.Kopierer et DOM-element.

39. Hvilken av følgende alternativer er IKKE en hendelse i DOM?

A.click
B.submit
C.hover
D.focus

40. Hvordan kan lazy loading forbedre ytelsen?

A.Ved å laste bilder kun når de trengs.
B.Ved å komprimere alle bilder på forhånd.
C.Ved å laste inn alle ressurser samtidig.
D.Ved å redusere størrelsen på bilder.

41. Er DOM statisk?

A.Ja, den kan ikke endres
B.Nei, den er dynamisk
C.Ja, bare ved visse forhold
D.Nei, men bare med server-side scripting

42. Hva er forskjellen mellom textContent og innerHTML?

A.textContent setter eller henter tekstinnhold, mens innerHTML setter eller henter HTML-innhold.
B.Begge gjør det samme.
C.textContent er langsommere enn innerHTML.
D.innerHTML kan ikke brukes for sikkerhetsårsaker.

43. Hva refererer 'this' til i en hendelseshåndterer?

A.DOM-elementet som hendelsen er knyttet til
B.Hendelsesobjektet
C.Den globale konteksten
D.En anonym funksjon

44. Hva er en dokumentfragment?

A.En midlertidig beholder for DOM-manipulering.
B.Et format for å lagre CSS-regler.
C.En type nettleserminne.
D.En metode for å opprette animasjoner.

45. Hva representerer 'document' i DOM?

A.Et spesifikt element
B.Hele HTML- eller XML-dokumentet
C.Bare tekstinnholdet
D.Bare kommentarer

46. Hva gjør cloneNode-metoden?

A.Lager en kopi av et DOM-element.
B.Fjerner et DOM-element.
C.Setter en attributt for et DOM-element.
D.Legger til et barn-element.

47. Hvilken metode brukes for å fjerne en hendelseshåndterer?

A.removeEventListener()
B.addEventListener()
C.stopPropagation()
D.preventDefault()

48. Hvordan kan setTimeout brukes i JavaScript?

A.For å forsinke utførelsen av en funksjon.
B.For å umiddelbart vise et element.
C.For å laste inn eksterne skript.
D.For å oppdatere CSS-stiler.

49. Hva beskriver en elementnode?

A.En node som inneholder tekst
B.En type node som representerer en HTML-komponent
C.En node for kommentarer
D.En node for attributter

50. Hvordan endrer man stilen til et DOM-element?

A.Ved å bruke element.style.
B.Ved å bruke setAttribute.
C.Ved å bruke innerHTML.
D.Ved å bruke classList.

51. Hvilken av følgende er et eksempel på syntetiske hendelser?

A.dispatchEvent()
B.click
C.keydown
D.focus

52. Hva er en MutationObserver?

A.Et objekt for å overvåke endringer i DOM.
B.En metode for å animere elementer.
C.En API for å lagre data lokalt.
D.Et verktøy for å komprimere bilder.

53. Fyll inn blank: Hver ______ i DOM kan ha barn.

A.kommentar
B.node
C.attributt
D.tekst

54. Hva gjør removeAttribute-metoden?

A.Fjerner en spesifisert attributt fra et DOM-element.
B.Setter en attributt for et DOM-element.
C.Kopierer et DOM-element.
D.Legger til en klasse.

55. Hvilken hendelse brukes ofte for å registrere tastetrykk?

A.keydown
B.click
C.mouseover
D.load

56. Hvilket problem adresserer shadow DOM?

A.Isolering av stiler og skripter i komponenter.
B.Reduksjon av minnebruk.
C.Forbedring av nettverksytelse.
D.Fjerning av ubrukte elementer.

57. Hva er 'querySelector' i DOM?

A.En metode for å slette noder
B.En metode for å hente det første elementet som matcher en CSS-velger
C.En metode for å oppdatere innholdet
D.En metode for å opprette nye noder

58. Er det sant at du kan manipulere DOM uten JavaScript?

A.Falsk.
B.Sant.
C.Kun med HTML.
D.Kun med CSS.

59. Hva er forskjellen mellom bubbling og capturing?

A.Bubbling går fra barn til foreldre, capturing fra foreldre til barn
B.Capturing er for syntetiske hendelser, bubbling for ekte hendelser
C.Bubbling er raskere enn capturing
D.Det er ingen forskjell

60. Hva betyr debouncing i JavaScript?

A.Forsinke funksjonsutførelse til en viss tid har gått.
B.Umiddelbart utføre en funksjon ved hver hendelse.
C.Begrense antall funksjonskall per tidsenhet.
D.Fjerne event listeners fra elementer.

61. Hvilken av følgende påstander beskriver riktig hva en node i DOM er?

A.En node kan være et HTML-element, tekstinnhold eller en kommentar.
B.En node er alltid en tekstnode.
C.En node kan kun være et attributt.
D.En node kan ikke ha barn.

62. Hva gir parentNode-tilgangen?

A.Gir tilgang til foreldreelementet til et spesifisert DOM-element.
B.Gir tilgang til søskene til et DOM-element.
C.Gir tilgang til barn-elementene.
D.Gir tilgang til attributter.

63. Hvilket av følgende beskriver best hva en 'event listener' gjør?

A.Venter på og reagerer på spesifikke hendelser på et DOM-element.
B.Fjerner alle hendelseshåndterere fra et DOM-element.
C.Forsinker utførelsen av en funksjon til en hendelse skjer.
D.Genererer syntetiske hendelser for DOM-elementer.

64. Hva er en Intersection Observer?

A.En API for å overvåke synligheten av DOM-elementer.
B.En metode for å oppdatere CSS-stiler.
C.En teknikk for å laste inn bilder.
D.En type DOM-element.

Relaterte studiesett

Lag ditt eget studiesett

Last opp en PDF, lim inn notatene dine, eller beskriv et tema – AI genererer flashkort, quizer og mer på sekunder.