Programmering

Dra nytte av brukerdefinerte variabler i JavaScript

Programmeringsspråk er nesten ubrukelige uten variabler. Disse spesielle informasjonsholdingsområdene kan lagre tall, tekststrenger, objekter og andre datatyper. Når informasjonen er lagret, kan den brukes senere i programmet. Med en variabel kan navnet på en person lagres og brukes på et eller annet tidspunkt i skriptet.

Variabler er midlertidige innehavere av informasjon. De kan holde:

  • Numeriske verdier ("tall") - tall som kan legges sammen. Eksempel: 2 + 2 gir 4
  • Tegnstrenger - en samling tekst, for eksempel "JavaScript" eller "Mitt navn er Mudd"
  • Sanne / falske verdier - den boolske sanne og falske
  • Objekter - JavaScript eller brukerdefinerte objekter (JavaScript-variabler kan inneholde noen få andre typer data, men disse er langt de vanligste typene)

(Merk: Som med de fleste moderne programmeringsspråk, støtter JavaScript arrayvariabler i tillegg til de grunnleggende skalarvariablene som brukes til å holde ovennevnte datatyper. Vi konsentrerer oss om enkeltverdivariabler for denne kolonnen og bruker en egen kolonne til matriser.)

JavaScript-variabler "tilhører" manusdokumentet som opprettet dem; variablene går tapt når dokumentet losses. I tillegg slettes innholdet i en variabel når du tildeler dem en ny verdi. Selv om en variabel opprettet i ett dokumentskript vanligvis ikke blir sett av et annet dokumentskript, gir JavaScript måter å dele variabler mellom skriptene. Du gjør dette ved å referere til navnet på dokumentet sammen med navnet på variabelen.

Flere JavaScript-instruksjoner oppretter og lagrer variabler, men den grunnleggende måten å oppnå dette manuelt på er lik (=) tildelingsoperatøren. Den grunnleggende syntaksen er:

VariableName = verdi

Det første argumentet er navnet på variabelen. Variable navn kan være veldig lange, men du er begrenset i tegnene du kan bruke. For mer informasjon om gyldige variabelnavn, se avsnittet om grenser for variabelt navn.

Det andre argumentet er innholdet i variabelen. Du kan legge alle slags ting inn i en variabel, inkludert et tall, en streng, et matteuttrykk (for eksempel 2 + 2) og forskjellige andre ting som vi kommer litt til.

Pascal-brukere kan bli fristet til å konstruere variabeltildelingen ved hjelp av: =. Vær oppmerksom på at denne syntaksen ikke støttes i JavaScript.

Følgende er en mer spesifikk oversikt over de fire vanligste innholdene du kan plassere i JavaScript-variabler, inkludert eksempler.

Innhold plassert i JavaScript-variabler

Tall i variabler

Et tall er ett eller flere sifre som er lagret på datamaskinen på en slik måte at JavaScript kan utføre matematiske beregninger med dem. JavaScript støtter både heltall og flytende punktverdier. For å plassere et tall i en variabel, oppgir du bare variabelnavnet, likhetstegnet (operatøren for variabel tildeling) og verdien du vil bruke. For eksempel er følgende hva du gjør for å plassere tallet 10 i en variabel som heter MyVar:

MyVar = 10;

Strenger i variabler

En streng er ett eller flere teksttegn ordnet i minnet i en enkelt fil. Strenger kan inneholde tall (sifre), bokstaver, tegnsetting eller en kombinasjon av disse elementene. Matematikkberegninger kan ikke utføres på strenger. Strenger tildeles JavaScript-variabler ved å være omsluttet av et sett med enkle eller doble anførselstegn:

"Jeg er en streng"

eller

'Jeg er en streng'

Vær oppmerksom på at doble eller enkle tilbud er akseptable; i motsetning til noen språk, som Perl, skiller JavaScript ikke mellom de to formene for anførselstegn. Dette arbeidseksemplet viser hvordan du plasserer en streng i en variabel:

MyVar = "Dette er JavaScript";

Boolske verdier i variabler

Det er to boolske verdier: sant og usant. Noen programmeringsspråk har ikke et eget sett med boolske verdier, og bruker i stedet 0 for falske, og 1 eller -1 (eller en annen verdi som ikke er null) for sann. JavaScript kan bruke disse tallene til å representere sant og usant, men i tillegg forbeholder ordene "sant" og "usant" for å bety boolsk sant og usant. Du kan tenke på de boolske sanne og falske verdiene som tilsvarer på / av eller ja / nei. For å tildele en variabel en boolsk verdi, oppgir du bare ordet sant eller usant, uten anførselstegn. Her er et eksempel:

MyVar = sant;

Objekter i variabler

Variabler kan inneholde objekter, inkludert JavaScript-objekter. Det er i utgangspunktet to typer objektvariabler:

  • Variabler som inneholder innebygde nettleserrelaterte objekter - vindu, dokument, navigator og så videre - er faktisk referanser til det opprinnelige objektet. De er som eksemplarer, men kopiene endres hvis originalen endres. I noen tilfeller påvirker det originale JavaScript-objektet å gjøre en endring av objektet i variabelen.

  • Variabler som inneholder brukerdefinerte objekter representerer det faktiske objektet. Gjør en endring i objektet i variabelen, og du endrer bare det objektet.

For å tilordne et JavaScript-objekt til en variabel, oppgi navnet på objektet, som i:

MyVar = navigator;

For å tilordne en ny kopi av et brukerdefinert objekt til en variabel, bruk den nye setningen og oppgi navnet på objektfunksjonen:

MyVar = ny myObject ();

SUBHEAD Variable navnegrenser

Når det gjelder navnene du kan gi variabler, tilbyr JavaScript mye bredde. JavaScript-variabler kan ha nesten ubegrenset lengde, selv om du av praktiske årsaker sannsynligvis vil holde variabelnavnene dine under 10 eller 15 tegn. Kortere variabelnavn hjelper JavaScript med å kjøre programmet raskere. Husk følgende når du navngir variablene dine:

  • Variable navn skal bare bestå av bokstaver - uten mellomrom. Du kan bruke tall så lenge navnet ikke begynner med et siffer. MyVar1 er for eksempel akseptabelt, men 1MyVar ikke.

  • Ikke bruk tegnsettingstegn i variabelnavn. Unntak: understrekingstegnet (_). Det vil si at variabelen My_Var er akseptabel, men Min * Var ikke. Variabler kan begynne med understrekingstegnet.

  • Variable navn er store og små bokstaver. Variabelen MyVar er en tydelig forskjellig variabel fra myVar, myvar og andre variasjoner.

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

I motsetning til noen andre programmeringsspråk, er det ikke nødvendig i JavaScript å definere hvilken type variabel du vil opprette. Denne JavaScript-oppførselen kalles "løs datatyping", og den skiller seg fra C og Java, som begge bruker streng datatyping.

I JavaScript er det ikke behov for å skille variabeltyper ved å legge til spesialtegn på slutten av variabelnavnet, for eksempel MyVar $ for en strengvariabel (eller for den saks skyld $ MyVar for en skalarvariabel, a la Perl). JavaScript dekoder internt variabeltypen basert på innholdet.

Bruke var-setningen for å tildele en variabel

JavaScript støtter en var-setning som kan brukes til å eksplisitt definere en variabel. Syntaksen er bare utsagnet var, et mellomrom og det samme uttrykket for variabel tildeling som er beskrevet ovenfor. For eksempel:

var MyVar = "Dette er en variabel";

Du kan også bruke var-setningen med variabelnavnet til å erklære variabelen, men ikke definere en verdi for den:

var MyVar;

I dette tilfellet har du definert MyVar i minnet, men har ennå ikke tildelt en verdi til den. Denne teknikken brukes ofte når du setter opp globale variabler - variabler som kan deles fritt hvor som helst i skriptet ditt. For mer informasjon om globale variabler, se avsnittet "Forstå omfanget av variabler" nedenfor.

Begrensninger for strenglengde

JavaScript pålegger en grense på 254 tegn for hver strengvariabeloppgave i programmet ditt. Hvis du overskrider grensen på 254 tegn, svarer JavaScript med en feilmelding "Ubestemt streng bokstavelig". (Merk: Dette er i utgangspunktet en grense for JavaScript i Netscape 2.0x; det er lurt å observere det siden ikke alle brukere har tatt i bruk Netscape 3.0.)

Du kan lage lengre strenger ved å "pusse" dem sammen - så lenge hvert stykke er 254 tegn eller mindre. Etter å ha tildelt en streng til hver variabel, kombinerer du dem med + tegnet. Dette kalles "sammenføyning." Følgende eksempel viser hvordan sammenkobling fungerer:

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

Hvert enkelt strengsegment - definert av tekst i anførselstegnene - kan bestå av opptil 254 tegn. For å lage en streng som er lengre enn 254 tegn, bare legg til flere segmenter. En annen tilnærming er å bygge strenger ved hjelp av + = tildelingsoperatøren, slik:

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

Du kan fortsette å sammenkoble strenger på denne måten så lenge datamaskinen har minne for det. Men selv om JavaScript kan inneholde strenger som er større enn det som er mulig i mange andre programmeringsspråk (som Basics typiske 64K), kan dette gjøre systemets ytelse alvorlig. Åpenbart vil du ikke lage mange store strengvariabler. Det er bare hyggelig å vite at, hvis nødvendig, kan en JavaScript-variabel romme så mye tekst.

Forstå "omfanget" av variabler

"Omfanget av en variabel" har ikke noe med optikk eller munnvann å gjøre, men heller i hvilken grad en variabel er synlig for andre deler av et JavaScript-program. Med mindre du gir eksplisitte instruksjoner for å fortelle JavaScript noe annet, administreres omfanget av variablene som følger:

  • Variabler definert utenfor en funksjon er tilgjengelige for alle funksjoner i skriptet, så lenge alle variablene er definert i skriptet til det samme HTML-dokumentet. Disse blir referert til som globale variabler.

  • Variabler som er definert i en funksjon, er også globale, forutsatt at var-setningen ikke brukes når den første deklarerer den variabelen. Det vil si MyVar = "hei."

  • Variabler definert i en funksjon med var-setningen er "lokale" bare for den funksjonen. Disse blir referert til som lokale variabler.

  • Globale variabler forblir i minnet selv etter at et skript har stoppet utførelsen. Variabelen forblir i minnet til dokumentet blir lastet ut.

Lokale variabler behandles som om de ikke eksisterer utenfor funksjonen der de er definert. På den måten kan du bruke det samme variabelnavnet i en funksjon, og den variabelen vil ikke forstyrre den samme navnet variabelen andre steder i skriptet.

Følgende er et eksempel som demonstrerer dette. Når du klikker på knappen, viser skriptet tre varslingsbokser. Følgende detaljer om hva som skjer når du klikker på knappen:

  • JavaScript kaller firstFunction, som tildeler verdien 1 til en lokal variabel som heter MyVar. Innholdet i MyVar vises.

  • JavaScript kaller secondFunction, som tildeler verdien 2 til en lokal variabel, også kalt MyVar. Innholdet i MyVar vises.

  • JavaScript går tilbake til firstFunction, der innholdet i MyVar igjen vises. Resultatet er 1, som er verdien av MyVar local to firstFunction.

Henviser til variabler i andre lastede dokumenter

Når du bruker rammer, er det ofte nødvendig å dele variabler på tvers av dokumenter. En eller flere rammer kan trenge en variabel i en annen ramme. Variabler (til og med globale) er av sin art ikke synlige utenfor dokumentet som opprettet dem. Så når du vil referere til en variabel i et annet dokument - og forutsatt at dokumentet er lastet inn i nettleseren - må du eksplisitt referere til den variabelen ved å legge til vindusnavnet foran variabelnavnet. Her er syntaksen:

winname.varname

hvor vinnerspill er navnet på dokumentet, og varnavner navnet på variabelen. Mer om dokumentnavn på litt.

Du kan tilordne og referere til variabler ved hjelp av følgende teknikk. For eksempel setter dette MyVar-variabelen i mydoc-vinduet til 1:

mydoc.MyVar = 1;

Koden nedenfor tilordner verdien av en lokal MyVar-variabel i mydoc-vinduet.

VarInThisDoc = mydoc.MyVar;

Hvor kommer navnene til vinduene fra? Alt kommer an på hvordan vinduene brukes.

For å bruke en variabel i hovedleservinduet fra et vindu du opprettet, må du først gi en "lenke" til det overordnede vindusobjektet ved å bruke denne metoden:

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

I dette nye vinduet kan du referere til hvilken som helst variabel i hovedvinduet ved hjelp av syntaksen:

skaperen.MyVar;

Hvis du vil bruke en variabel i et vindu du har opprettet, kan du referere til den ved hjelp av objektnavnet du oppga da du opprettet vinduet. For eksempel vil du bruke newwindow for et vindu opprettet med følgende:

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

Henvis nå til den variabelen som bruker syntaksen:

newwindow.MyVar;

For å bruke en variabel definert i rammesettet - det vil si dokumentet som inneholder

tag - referer til det som foreldre. Her er et eksempel:

foreldre.MyVar;

Hvis du vil bruke en variabel i et annet rammedokument, kan du referere til den ved hjelp av rammenavnet du har oppgitt i

Gordon McComb er forfatter, konsulent og foreleser. Han har skrevet 50 bøker og over tusen magasinartikler i løpet av sine 20 år som profesjonell forfatter. Mer enn en million eksemplarer av bøkene hans er på trykk. Gordon skriver også en ukentlig syndikert aviskolonne på datamaskiner, og når flere millioner lesere over hele verden. Gordons siste bok er JavaScript Sourcebook, tilgjengelig fra Wiley Computer Publishing.

Lær mer om dette emnet

  • Netscapes dokumentasjon for JavaScript

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

  • JavaScript og informasjonskapsler

    //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

  • Utvidet eksempel på bruk av JavaScript-variabler

    //www.hidaho.com/colorcenter/

Denne historien "Dra nytte av brukerdefinerte variabler i JavaScript" ble opprinnelig utgitt av JavaWorld.

$config[zx-auto] not found$config[zx-overlay] not found