Programmering

Udnyt de brugerdefinerede variabler i JavaScript

Programmeringssprog er næsten ubrugelige uden variabler. Disse specielle informationsopbevaringsområder kan gemme numre, tekststrenge, objekter og andre datatyper. Når de er gemt, kan disse oplysninger bruges senere i dit program. Med en variabel kan en persons navn gemmes og bruges på et eller andet tidspunkt i scriptet.

Variabler er midlertidige indehavere af information. De kan holde:

  • Numeriske værdier ("tal") - tal, der kan føjes sammen. Eksempel: 2 + 2 resulterer i 4
  • Tegnstrenge - en samling tekst, såsom "JavaScript" eller "Mit navn er Mudd"
  • Ægte / falske værdier - de boolske sande og falske
  • Objekter - JavaScript eller brugerdefinerede objekter (JavaScript-variabler kan indeholde et par andre slags data, men disse er langt de mest almindelige typer)

(Bemærk: Som med de fleste moderne programmeringssprog understøtter JavaScript arrayvariabler ud over de grundlæggende skalarvariabler, der bruges til at indeholde ovenstående datatyper. Vi koncentrerer os om enkeltværdivariabler for denne kolonne og afsætter en separat kolonne til arrays.)

JavaScript-variabler "tilhører" det scriptdokument, der oprettede dem; variablerne går tabt, når dokumentet aflades. Derudover slettes indholdet af en variabel, når du tildeler dem en ny værdi. Selvom en variabel oprettet i et dokument script normalt ikke ses af et andet dokument script, giver JavaScript måder at dele variabler mellem scripts. Du gør dette ved at henvise til dokumentets navn sammen med navnet på variablen.

Flere JavaScript-instruktioner opretter og gemmer variabler, men den grundlæggende måde at opnå dette manuelt på er tildelingsoperatoren lig (=). Den grundlæggende syntaks er:

VariableName = værdi

Det første argument er navnet på variablen. Variable navne kan være meget lange, men du er begrænset i de tegn, du kan bruge. For yderligere oplysninger om gyldige variabelnavne, se afsnittet om grænser for variabelt navn.

Det andet argument er indholdet af variablen. Du kan sætte alle mulige ting i en variabel, herunder et tal, en streng, et matematisk udtryk (såsom 2 + 2) og forskellige andre ting, som vi kommer til lidt om.

Pascal-brugere kan blive fristet til at konstruere den variable tildeling ved hjælp af: =. Vær opmærksom på, at denne syntaks ikke understøttes i JavaScript.

Følgende er en mere specifik oversigt over de fire mest almindelige indhold, du kan placere i JavaScript-variabler, inklusive eksempler.

Indhold placeret i JavaScript-variabler

Tal i variabler

Et tal er et eller flere cifre, der er gemt på computeren på en sådan måde, at JavaScript kan udføre matematiske beregninger med dem. JavaScript understøtter både heltal og flydende punktværdier. For at placere et nummer i en variabel skal du blot angive variabelnavnet, ligetegnet (operatoren for variabel tildeling) og den værdi, du vil bruge. For eksempel er det følgende, hvad du gør for at placere nummeret 10 i en variabel ved navn MyVar:

MyVar = 10;

Strenge i variabler

En streng er et eller flere teksttegn arrangeret i hukommelsen i en enkelt fil. Strenge kan indeholde tal (cifre), bogstaver, tegnsætning eller en kombination af disse elementer. Matematikberegninger kan ikke udføres på strenge. Strenge tildeles JavaScript-variabler ved at være lukket i et sæt enkelt eller dobbelt anførselstegn:

"Jeg er en streng"

eller

'Jeg er en streng'

Bemærk, at dobbelt eller enkelt tilbud er acceptabelt; i modsætning til nogle sprog, såsom Perl, skelner JavaScript ikke mellem de to former for anførselstegn. Dette arbejdseksempel viser, hvordan man placerer en streng i en variabel:

MyVar = "Dette er JavaScript";

Boolske værdier i variabler

Der er to boolske værdier: sandt og falsk. Nogle programmeringssprog har ikke et separat sæt boolske værdier og bruger i stedet 0 for falsk og 1 eller -1 (eller enhver anden værdi, der ikke er nul) for sand. JavaScript kan bruge disse tal til at repræsentere sandt og falsk, men forbeholder sig desuden ordene "sandt" og "falsk" for at betyde boolsk sandt og falsk. Du kan tænke på de boolske sande og falske værdier som svarende til on / off eller ja / nej. Hvis du vil tildele en variabel en boolsk værdi, skal du blot angive ordet sandt eller falsk uden anførselstegn. Her er et eksempel:

MyVar = sandt;

Objekter i variabler

Variabler kan indeholde objekter, herunder JavaScript-objekter. Der er grundlæggende to slags objektvariabler:

  • Variabler, der indeholder indbyggede browserrelaterede objekter - vindue, dokument, navigator osv. - er faktisk referencer til det originale objekt. De er som kopier, men kopierne ændres, hvis originalen ændres. I nogle tilfælde påvirker det originale JavaScript-objekt at foretage en ændring af objektet i variablen.

  • Variabler, der indeholder brugerdefinerede objekter, repræsenterer det faktiske objekt. Foretag en ændring af objektet i variablen, og du ændrer kun det objekt.

For at tildele et JavaScript-objekt til en variabel skal du angive objektets navn som i:

MyVar = navigator;

For at tildele en ny kopi af et brugerdefineret objekt til en variabel skal du bruge den nye sætning og angive navnet på objektfunktionen:

MyVar = ny myObject ();

SUBHEAD Variabelnavnsgrænser

Når det kommer til de navne, du kan give variabler, tilbyder JavaScript en stor bredde. JavaScript-variabler kan have næsten ubegrænset længde, selvom du af praktiske årsager sandsynligvis vil holde dine variabelnavne under 10 eller 15 tegn. Kortere variabelnavne hjælper JavaScript med at udføre programmet hurtigere. Husk følgende, når du navngiver dine variabler:

  • Variable navne skal kun bestå af bogstaver - uden mellemrum. Du kan bruge tal, så længe navnet ikke starter med et ciffer. For eksempel er MyVar1 acceptabelt, men 1MyVar ikke.

  • Brug ikke tegnsætningstegn i variabelnavne. Undtagelse: understregningstegnet (_). Det vil sige, variablen My_Var er acceptabel, men Min * Var er ikke. Variabler kan begynde med understregningstegnet.

  • Variable navne er store og små bogstaver. Variablen MyVar er en tydelig forskellig variabel fra myVar, myvar og andre variationer.

Forståelse af JavaScript's "løse" variable datatyper

I modsætning til nogle andre programmeringssprog er der i JavaScript ikke behov for eksplicit at definere den type variabel, du vil oprette. Denne JavaScript-opførsel kaldes "løs datatypning", og den adskiller sig fra C og Java, som begge bruger streng datatypning.

I JavaScript er der ikke behov for at differentiere variabeltyper ved at tilføje specialtegn til slutningen af ​​variabelnavnet, såsom MyVar $ for en strengvariabel (eller for den sags skyld $ MyVar for en skalarvariabel, a la Perl). JavaScript afkoder internt variabeltypen baseret på dens indhold.

Brug af var-erklæringen til at tildele en variabel

JavaScript understøtter en var-sætning, der kan bruges til eksplicit at definere en variabel. Syntaksen er kun udsagnet var, et mellemrum og det samme variabeltildelingsudtryk, der er beskrevet ovenfor. For eksempel:

var MyVar = "Dette er en variabel";

Du kan også bruge var-sætningen med variabelnavnet til at erklære variablen, men ikke definere en værdi for den:

var MyVar;

I dette tilfælde har du defineret MyVar i hukommelsen, men har endnu ikke tildelt en værdi til den. Denne teknik bruges ofte, når du opretter globale variabler - variabler, der kan deles frit hvor som helst i dit script. For mere information om globale variabler, se afsnittet "Forståelse af omfanget af variabler" nedenfor.

Strenglængde begrænsninger

JavaScript pålægger en grænse på 254 tegn for hver strengvariabelildeling i dit program. Hvis du overskrider grænsen på 254 tegn, svarer JavaScript med en fejlmeddelelse "Ubestemt streng bogstavelig". (Bemærk: Dette er grundlæggende en grænse for JavaScript i Netscape 2.0x; det er en god ide at observere det, da ikke alle brugere har brugt Netscape 3.0.)

Du kan oprette længere strenge ved at "samle" dem sammen - så længe hvert stykke er 254 tegn eller mindre. Når du har tildelt en streng til hver variabel, kombinerer du dem ved hjælp af + tegnet. Dette kaldes "sammenkædning". Følgende eksempel viser, hvordan sammenkædning fungerer:

MyVar = "Dette er starten" + på, hvordan du "+" kan bygge strenge ";

Hvert enkelt strengesegment - defineret af tekst inden for anførselstegnene - kan bestå af op til 254 tegn. For at oprette en streng, der er længere end 254 tegn, skal du blot tilføje flere segmenter. En anden tilgang er at oprette strenge ved hjælp af + = tildelingsoperatøren, som denne:

MyVar = "Dette er starten" MyVar + = "for hvordan du" MyVar + = kan bygge strenge "

Du kan fortsætte med at sammenkæde strenge på denne måde, så længe din computer har hukommelsen til det. Men mens JavaScript kan indeholde strenge, der er større end det, der er muligt i mange andre programmeringssprog (som Basics typiske 64K), kan dette gøre systemets ydeevne alvorligt. Det er klart, at du ikke opretter mange enorme strengvariabler. Det er bare rart at vide, at en JavaScript-variabel, hvis det er nødvendigt, kan rumme så meget tekst.

Forståelse af "omfanget" af variabler

"Omfanget af en variabel" har intet at gøre med optik eller mundskyl, men snarere i hvilket omfang en variabel er synlig for andre dele af et JavaScript-program. Medmindre du giver eksplicitte instruktioner til at fortælle JavaScript ellers, styres omfanget af dens variabler som følger:

  • Variabler defineret uden for en funktion er tilgængelige for enhver funktion i scriptet, så længe alle variablerne er defineret i scriptet til det samme HTML-dokument. Disse kaldes globale variabler.

  • Variabler defineret inde i en funktion er også globale, forudsat at var-sætningen ikke bruges, når den første erklæres for denne variabel. Det vil sige MyVar = "hej."

  • Variabler, der er defineret i en funktion med var-erklæringen, er kun "lokale" for den funktion. Disse kaldes lokale variabler.

  • Globale variabler forbliver i hukommelsen, selv efter at et script har stoppet udførelsen. Variablen forbliver i hukommelsen, indtil dokumentet aflades.

Lokale variabler behandles som om de ikke findes uden for den funktion, hvor de er defineret. På den måde kan du bruge det samme variabelnavn inde i en funktion, og den variablen vil ikke forstyrre den samme navngivne variabel andetsteds i scriptet.

Følgende er et eksempel, der demonstrerer dette. Når du klikker på knappen, viser scriptet tre advarselsbokse. Følgende detaljer, hvad der sker, når du klikker på knappen:

  • JavaScript kalder firstFunction, som tildeler en værdi på 1 til en lokal variabel med navnet MyVar. Indholdet af MyVar vises.

  • JavaScript kalder secondFunction, som tildeler en værdi på 2 til en lokal variabel, også kaldet MyVar. Indholdet af MyVar vises.

  • JavaScript vender tilbage til firstFunction, hvor indholdet af MyVar igen vises. Resultatet er 1, som er værdien af ​​MyVar local to firstFunction.

Henvisning til variabler i andre indlæste dokumenter

Når du bruger rammer, er det ofte nødvendigt at dele variabler på tværs af dokumenter. En eller flere rammer kan have brug for en variabel indeholdt i en anden ramme. Variabler (endda globale) er af deres art ikke synlige uden for det dokument, der oprettede dem. Så når du vil henvise til en variabel i et andet dokument - og forudsat at dokumentet indlæses i browseren - skal du eksplicit henvise til den variabel ved at tilføje vinduesnavnet foran variabelnavnet. Her er syntaksen:

winname.varname

hvor vinderspil er navnet på dokumentet, og varnavner navnet på variablen. Mere om dokumentnavne lidt.

Du kan tildele og henvise til variabler ved hjælp af følgende teknik. For eksempel indstiller dette MyVar-variablen i mydoc-vinduet til 1:

mydoc.MyVar = 1;

Koden nedenfor tildeler værdien af ​​en lokal MyVar-variabel i mydoc-vinduet.

VarInThisDoc = mydoc.MyVar;

Hvor kommer navnene til vinduerne fra? Det hele afhænger af, hvordan vinduerne bruges.

For at bruge en variabel i det primære browservindue fra et vindue, du oprettede, skal du først angive et "link" til det overordnede vindueobjekt ved hjælp af denne metode:

newwindow = window.open ("", "NewWindow"); // gentag dette for Mac / X Netscape 2.0 newwindow.creator = self;

Derefter kan du i dette nye vindue henvise til enhver variabel i hovedvinduet ved hjælp af syntaksen:

skaberen.MyVar;

For at bruge en variabel i et vindue, du har oprettet, skal du henvise til den ved hjælp af det objektnavn, du har angivet, da du oprettede vinduet. For eksempel vil du bruge newwindow til et vindue oprettet med følgende:

newwindow = window.open ("", "NewWindow");

Se nu den variabel, der bruger syntaksen:

newwindow.MyVar;

At bruge en variabel defineret i rammesættet - det vil sige det dokument, der indeholder

tag - henvis til det som forælder. Her er et eksempel:

forælder.MyVar;

Hvis du vil bruge en variabel i et andet rammedokument, skal du henvise til den ved hjælp af det rammenavn, du har angivet i

Gordon McComb er en forfatter, konsulent og foredragsholder. Han har skrevet 50 bøger og over tusind magasinartikler i løbet af sine 20 år som professionel forfatter. Mere end en million eksemplarer af hans bøger er på tryk. Gordon skriver også en ugentlig syndikeret avissøjle på computere og når ud til flere millioner læsere over hele verden. Gordons seneste bog er JavaScript Sourcebook, tilgængelig fra Wiley Computer Publishing.

Lær mere om dette emne

  • Netscapes dokumentation til JavaScript

    //home.netscape.com/da/mozilla/3.0/handbook/javascript/index.html

  • JavaScript og cookies

    //www.hidaho.com/cookies/cookie.txt

  • Eksempel på JavaScript-variabler og -rammer

    //home.netscape.com/comprod/products/navigator/version_2.0/script/script_info/tutorial/main.htm

  • Udvidet eksempel på brug af JavaScript-variabler

    //www.hidaho.com/colorcenter/

Denne historie "Udnyt de brugerdefinerede variabler i JavaScript" blev oprindeligt udgivet af JavaWorld.