Kodeord og vejledning til udførelse af JavaScript

click fraud protection

Design af din webside ved hjælp af JavaScript kræver opmærksomhed i den rækkefølge, i hvilken din kode vises og om du indkapsler kode til funktioner eller objekter, som alle påvirker rækkefølgen af ​​koden kører.

Placeringen af ​​JavaScript på din webside

Da JavaScript på din side køres baseret på visse faktorer, lad os overveje, hvor og hvordan man tilføjer JavaScript til en webside.

Der er dybest set tre placeringer, som vi kan vedhæfte JavaScript til:

  • Direkte ind på siden af ​​siden
  • Direkte ind i siden på siden
  • Fra en event handler / lytter

Det gør ikke nogen forskel, om JavaScript er det inden for websiden selv eller i eksterne filer, der er knyttet til siden. Det betyder heller ikke noget, om begivenhedshåndtererne er hårdkodet på siden eller tilføjet af selve JavaScript (bortset fra at de ikke kan udløses, før de tilføjes).

Kode direkte på siden

Hvad betyder det at sige, at JavaScript er direkte i hovedet eller kroppen på siden? Hvis koden ikke er lukket i en funktion eller et objekt, er den direkte på siden. I dette tilfælde kører koden sekventielt, så snart filen, der indeholder koden, er indlæst tilstrækkeligt til at få adgang til den kode.

instagram viewer

Kode, der er inden for en funktion eller et objekt, køres kun, når denne funktion eller et objekt kaldes.

Grundlæggende betyder det, at enhver kode inde i hovedet og kroppen på din side, der ikke er inde i en funktion eller et objekt, kører, når siden indlæses - så snart siden har indlæst tilstrækkeligt til at få adgang til den kode.

Den sidste bit er vigtig og har indflydelse på den rækkefølge, du placerer din kode på siden: enhver kode placeret direkte på siden, der skal interagere med elementer på siden, skal vises efter elementerne på den side, det er afhængig af.

Generelt betyder dette, at hvis du bruger direkte kode til at interagere med dit sideindhold, skal en sådan kode placeres i bunden af ​​kroppen.

Kode inden for funktioner og objekter

En kode inde i funktioner eller objekter køres, når denne funktion eller objekt kaldes. Hvis det kaldes fra kode, der er direkte i hovedet eller kroppen på siden, er dets sted i udførelsesordre er effektivt det punkt, hvor funktionen eller objektet kaldes fra det direkte kode.

Kode tildelt begivenhedshåndterere og lyttere

Tildeling af en funktion til en begivenhedsbehandler eller lytter resulterer ikke i, at funktionen køres på det punkt, hvor den er tildelt - forudsat at du faktisk er tildele selve funktionen og kører ikke funktionen og tildeling af den returnerede værdi. (Det er derfor, du normalt ikke ser () i slutningen af ​​funktionsnavnet, når det tildeles til en begivenhed siden tilføjelsen af parenteser kører funktionen og tildeler den returnerede værdi i stedet for at tildele funktionen sig selv.)

Funktioner, der er knyttet til begivenhedshåndterere og lyttere, kører, når den begivenhed, de er knyttet til, udløses. De fleste begivenheder udløses af besøgende, der interagerer med din side. Nogle undtagelser findes dog, såsom belastning begivenhed i selve vinduet, der udløses, når siden er færdig med indlæsningen.

Funktioner knyttet til begivenheder på sideelementer

Eventuelle funktioner, der er knyttet til begivenheder på elementer på selve siden, kører i henhold til handlingerne for hver enkelt besøgende - denne kode kører kun, når en bestemt begivenhed opstår for at udløse den. Af denne grund betyder det ikke noget, om koden aldrig kører for en given besøgende, da den besøgende åbenbart ikke har udført den interaktion, der kræver det.

Alt dette antager naturligvis, at din besøgende har adgang til din side med en browser, der har JavaScript aktiveret.

Tilpassede besøgende bruger scripts

Nogle brugere har installeret specielle scripts, der kan interagere med din webside. Disse scripts kører efter al din direkte kode, men Før enhver kode, der er knyttet til lastbegivenhedshåndtereren.

Da din side ikke ved noget om disse brugerskripts, har du ingen måde at vide, hvad disse eksterne scripts muligvis kan gøre - de kan tilsidesætte enhver eller hele koden, som du har knyttet til de forskellige begivenheder, som du har tildelt forarbejdning. Hvis denne kode tilsidesætter begivenhedshåndterere eller lyttere, kører svaret på begivenhedsudløsere den kode, der er defineret af brugeren i stedet for eller ud over din kode.

Startpunktet her er, at du ikke kan antage, at kode, der er designet til at køre efter siden er indlæst, får lov til at køre, som du har designet den. Vær desuden opmærksom på, at nogle browsere har indstillinger, der tillader deaktivering af nogle begivenhedshåndterere inden for browser, i hvilket tilfælde en relevant begivenhedsudløser ikke starter den tilsvarende begivenhedshåndterer / lytter i din kode.

instagram story viewer