Programmering

Forståelse og brug af JavaScript-udsagn

Erklæringer bruges i JavaScript til at kontrollere dets programflow. I modsætning til egenskaber, metoder og begivenheder, der grundlæggende er bundet til det objekt, der ejer dem, er udsagn designet til at fungere uafhængigt af ethvert JavaScript-objekt. Det betyder, at du kan bruge en erklæring, uanset om du arbejder med dokumentobjektet, vindueobjektet, historieobjektet eller et andet objekt. Som sprog understøtter JavaScript relativt få udsagn - lige nok til at klare sig. Det tilbyder dog det absolutte minimum af udsagn, der er nødvendige for at konstruere en fuldt funktionel applikation.

JavaScript understøtter i øjeblikket følgende elleve udsagn. Bemærk, at nogle af disse - såsom kommentarer, var og nye - ikke er bona fide-udsagn, men de behandles ofte som sådan. De er inkluderet i denne diskussion for fuldstændighedens skyld.

  • // kommentar
  • pause
  • Blive ved
  • til
  • til ... i
  • fungere
  • hvis ellers
  • ny
  • Vend tilbage
  • var
  • mens
  • med

Et par af udsagnene, der tilbydes i Java, mangler især JavaScript. Dette inkluderer skifteerklæringen samt alle former for fejlfældningsudsagn (såsom fangst og kast). JavaScript holder disse udsagn som reserverede ord, og måske i en fremtidig version vil de blive implementeret.

Kommentar (//)

// tegnene fortæller JavaScript, at du vil medtage forklarende kommentarer i dit program. Kommentaren slutter ved det første hårde tilbagevenden, der opstår. JavaScript sætter ingen begrænsninger for længden af ​​kommentaren, så længe der ikke er noget hårdt tilbage, før kommentaren slutter. JavaScript antager tekst, når den hårde returnering er gyldig kode.

// Dette er en simpel kommentar

// Dette er en anden kommentar, der spænder over mere end en linje. Selvom kommentaren ombrydes til den anden linje, slutter den første linje med en "soft return" i tekstredigeringsprogrammet. Intet hard return-tegn indsættes.

Du kan placere // kommentartegnene hvor som helst på en linje. JavaScript behandler al teksten på den linje efter // som en kommentar.

MyVariable = "Dette er en test" // tildeler tekstvariablen MyVariable 

Kommentarer ignoreres, når scriptet afspilles, så de påvirker ikke udførelseshastigheden i høj grad. Imidlertid øger mange kommentarer filstørrelsen på scripts og det tager længere tid at downloade til brugerens computer via en opkaldsforbindelse til internettet. For de bedste resultater skal du begrænse kommentarer i JavaScript-programmer til korte, enkelte linjer.

Når du skriver lange kommentarer, er det bedre at bruge de alternative kommentartegn / * og * /. Tekst mellem disse tegn behandles som en kommentar. Alternativt kan du starte hver linje med // kommentartegnene.

// Dette afsnit kontrollerer, om Enter-tasten trykkes, // fortsætter derefter 

eller

/ * Dette afsnit kontrollerer, om der trykkes på Enter-tasten, og fortsætter derefter med * / 

Tilbage til indeks

Pause

Bruderklæringen beder JavaScript om at afslutte en "kontrolleret struktur" og genoptage udførelsen på et punkt efter strukturen. Bruderklæringen bruges med strukturer bygget ved hjælp af følgende kommandoer:

  • til
  • til ... i
  • mens

Bruderklæringen bruges oftest til at afslutte en for loop for tidligt. For eksempel:

for (Count = 1; Count <= 10; Count ++) {hvis (Count == 6) break; document.write ("

Loop: "+ Count +"

"); }

Dette eksempel viser en for-løkke, der tæller fra 1 til 10 og udskriver tallet ved hver iteration af sløjfen. En if-sætning inde i for-loop bruges til at teste, om værdien i Count-variablen er lig med 6. Hvis Count er lig med 6, udføres break-sætningen, og scriptet afslutter for-loop. Som brugt i dette enkle eksempel tæller scriptet fra 1 til 6 og stopper derefter. Den forlader for-sløjfen, før den kan tælle op til 10.

Tilbage til indeks

Blive ved

Fortsæt-erklæringen beder JavaScript om at springe over alle instruktioner, der kan følge i en for, til ... i eller mens loop, og fortsætte med den næste iteration. Den mest almindelige brug af fortsættsætningen er at springe instruktioner i sløjfen betinget over, men ikke afslutte sløjfen (som pauseerklæringen gør). For eksempel:

for (Count = 1; Count <= 10; Count ++) {hvis (Count == 6) fortsætter; document.write ("

Loop: "+ Count +"

"); }

Eksemplet ovenfor viser en for-løkke, der tæller fra 1 til 10 og udskriver tallet ved hver iteration af sløjfen. En if-sætning inde i for-sløjfen bruges til at teste, om værdien i tællingsvariablen er lig med 6. Hvis tælling er lig med 6, udføres fortsættelsessætningen, og scriptet springer dokumentet. Skriveanvisning på den næste linje. Men sløjfen slutter ikke. I stedet fortsætter den og udskriver linjer for de resterende numre. Som brugt i dette enkle eksempel tæller scriptet fra 1 til 5, springer 6 over og udskriver derefter 7 til 10.

Tilbage til indeks

Til

For-sætningen gentager en blok instruktioner en eller flere gange. Antallet af iterationer styres af værdier, der leveres som argumenter. Syntaksen for for-udsagnet er:

til (InitVal; Test; Increment) 
  • InitVal er startværdien af ​​for-sløjfen. Det er ofte 0 eller 1, men det kan være et hvilket som helst tal. InitVal er et udtryk, der opretter den oprindelige værdi og tildeler den værdi til en variabel. For eksempel tæller = 0 eller i = 1.

  • Prøve er det udtryk, der anvendes af for-sætningen til at kontrollere antallet af iterationer af sløjfen. Så længe den Prøve udtryk er sandt, fortsætter sløjfen. Når Prøve udtryk viser sig falsk, sløjfen slutter. Eksempel: Tæl <10 er sandt, så længe værdien i tællingsvariablen er mindre end 10.

  • Forøgelse angiver, hvordan du vil have for-løkken til at tælle - med en, to, fem, ti og så videre. Dette er også et udtryk og tager normalt form af CountVar ++, hvor CountVar er navnet på den variabel, der først blev tildelt i InitVal udtryk. Eksempel: Count ++ øger værdien af ​​Count-variablen med en for hver iteration.
Bemærk, at i modsætning til alle de andre konstruktioner i JavaScript bruger for-erklæringen semikolon snarere end kommaer til at adskille sine argumenter. Dette er i tråd med den syntaks, der bruges i C, C ++ og Java.

Her er et eksempel på en for-løkke, der tæller fra 1 til 10, der træder et ciffer ad gangen. Ved hver iteration indsætter scriptet noget tekst og begynder en ny linje. JavaScriptet, du vil gentage, er omsluttet af {og} tegn efter erklæringen for; dette danner blok for for statement. Du kan angive en eller flere linjer inden for {og} tegnene.

for (Count = 1; Count <= 10; Count ++) {document.write ("Iteration:" + Count + "

"); }

Count er variabelnavnet, der bruges til at gemme for-loop-tælleren. For-sløjfen starter med 1 og fortsætter til 10. Testudtrykket er Count <= 10, som lyder:

Tælling er mindre end eller lig med 10 

Så længe dette udtryk er sandt, fortsætter for-sløjfen. Bemærk, at Increment-argumentet også er et udtryk og i eksemplet bruger variablen Count til at forøge for-loop med 1 for hver iteration. Der er ingen lov, der siger, at du skal øge for-sløjfen med dem. Her er blot et af de mange alternativer. Dette eksempel tæller med tiere fra 10 til 100.

for (Count = 1; Count <101; Count + = 10) {document.write ("Iteration:" + Count + "

"); }

Tilbage til indeks

For ... i

For ... i erklæringen er en speciel version af for erklæringen beskrevet i det foregående afsnit. For ... in bruges til at vise ejendomsnavne og / eller ejendomsindholdet på objekter. Det er for det meste praktisk som et fejlfindings- og testværktøj: Hvis en del af din JavaScript-kode ikke fungerer korrekt, og du har mistanke om, at det kan være skyld i et JavaScript-objekt, du prøver at bruge, kan du undersøge alle egenskaberne for det objekt med for ... i erklæring.

I modsætning til for-udsagnet bruger for ... in ikke stigende tests eller andre udtryk. Du angiver navnet på en holdevariabel (navnet på variablen er op til dig) og det objekt, du vil bruge. Den grundlæggende syntaks for for ... i udsagnet er:

for (var i objekt) {udsagn} 
  • var er navnet på en variabel
  • objekt er det objekt, du ønsker at undersøge
  • erklæringer er en eller flere JavaScript-instruktioner, som du ønsker at udføre for hver ejendom, der returneres af for ... in loop

Antag som eksempel, at du vil bestemme egenskaberne for navigatorobjektet (dette objekt indeholder detaljer om Netscape Navigator eller anden browser, du bruger). Den følgende kode viser hvert ejendomsnavn i en advarselsboks. Når du kører scriptet, skal du klikke på OK for at fortsætte til det næste egenskabsnavn. Sløjfen slutter automatisk, når der ikke er flere egenskaber i objektet.

for (temp i navigator) {alarm (temp); } 

En variation af dette eksempel er vist nedenfor. Det viser ikke kun ejendomsnavne, men viser også indholdet af hver ejendom (nogle egenskaber er tomme, og derfor vises der ikke noget indhold for dem). Indholdet af egenskaberne vises ved hjælp af syntaksobjektet [var] eller i dette tilfælde navigator [temp].

for (temp i navigator) {alarm (temp + ":" + navigator [temp]); } 

For..in-sløjfen kan bruges til alle objekttyper. Du kan bruge den til at gentage alle egenskaberne for en formular i et dokument, f.eks. Gennem egenskaberne for et brugerdefineret objekt. For eksempel for at gennemgå alle egenskaberne i en formular, skal du bruge for ... in loop som i følgende eksempel (antag, at formularnavnet er "myform"):

 funktionstest () {for (temp i document.myform) {alarm (temp); }}

Tilbage til indeks

Fungere

Funktionserklæringen giver dig mulighed for at oprette dine egne brugerdefinerede funktioner (såvel som brugerdefinerede objekter og metoder til disse objekter). Funktioner er selvstændige rutiner, der kan "kaldes" andre steder i din JavaScript-kode. For eksempel, hvis du har en funktion, der hedder

writeMyName

, der viser dit navn i overskriftstekst, kan du aktivere det ved blot at henvise til navnet

writeMyName

et eller andet sted inden for din JavaScript-kode. Her er en kort beskrivelse

prøve

der viser, hvordan dette kan fungere:

  Funktion Testfunktion writeMyName () {MyName = "John Doe" alarm (MyName)} 

Det writeMyName funktion er defineret inden for ... tags. Det aktiveres (ellers kendt som "kaldet"), når der trykkes på formularknappen. Denne kaldende handling udføres ved hjælp af onKlik begivenhedshåndterer, defineret i tagget til formular-knappen.

Tilbage til indeks

Hvis ellers

Hvis, sammen med dets valgfri andet, bruges udsagnet til at opbygge et "hvis betinget" udtryk. Det kaldes et betinget udtryk, fordi det tester for en bestemt tilstand.

  • Hvis udtrykket er sandt, udfører scriptet instruktionerne efter if-udsagnet.
  • Hvis udtrykket er forkert, springer scriptet til instruktionerne, der følger den anden erklæring. Hvis der ikke er noget andet udsagn, springer scriptet forbi if-erklæringen helt og fortsætter derfra.

Syntaksen for if er:

hvis (udtryk) 

Resultatet af if-udtrykket er altid enten sandt eller falsk. Følgende syntaks er acceptabel, når der kun er en instruktion, der følger if og else-udsagnene:

hvis (EksempelVar == 10) Start (); ellers Stop (); 

Skulle mere end en instruktion følge if eller ellers udsagnet, skal tegnene {og} bruges til at definere en if-sætningsblok. Med {og} tegnene på plads, ved JavaScript at udføre alle instruktionerne i blokken.

hvis (ExampleVar == 10) {Count = 1; Start(); } andet {Count = 0; Hold op(); } 

Udtryk i hvis udsagn ikke er begrænset til == lighedsoperatøren. Du kan teste, om værdier ikke er lig med hinanden, større end, mindre end og mere. For mere information om de operatører, du kan bruge, se referencelisten i slutningen af ​​denne kolonne. Det peger på værdifuld JavaScript-dokumentation, herunder dokumentation leveret af Netscape.

Tilbage til indeks

Ny

Den nye erklæring opretter en ny kopi af et objekt. Det bruges på en af ​​to måder:

  • Sådan defineres et nyt datoobjekt (dato er et indbygget JavaScript-objekt)
  • At definere et nyt brugerdefineret objekt

Syntaksen er den samme med begge anvendelser:

varnavn = nyt objektnavn (parametre); 
  • varname er navnet på det nye objekt. Acceptable navne er de samme som for JavaScript-variabler. Faktisk kan du betragte det oprettede objekt som en JavaScript-variabel.

  • objektnavn er navnet på objektet. Når du bruger det indbyggede Date-objekt, bruger du ordet Date (bemærk store bogstaver - dette er obligatorisk). Når du bruger en brugerdefineret objektfunktion, angiver du navnet på objektfunktionen.

  • params er en eller flere parametre, som du overfører til objektfunktionen, hvis det er nødvendigt.

Følgende eksempel viser, hvordan man bruger den nye erklæring til at oprette en kopi - ellers kendt som en "instans" - af Date-objektet:

nu = ny dato (); 

Det nu objekt, der kan betragtes som en JavaScript-variabel, har alle egenskaberne og metoderne for JavaScript-datoobjektet. For eksempel bruger du det nu objekt til at bestemme den aktuelle time på dagen:

nu = ny dato (); HourNow = now.getHours (); 
$config[zx-auto] not found$config[zx-overlay] not found