Ohjelmointi

Hyödynnä käyttäjän määrittelemiä muuttujia JavaScriptissä

Ohjelmointikielet ovat hyödyttömiä ilman muuttujia. Nämä erityiset tietoa pitävät alueet voivat tallentaa numeroita, tekstimerkkijonoja, objekteja ja muita tietotyyppejä. Kun tiedot on tallennettu, niitä voidaan käyttää myöhemmin ohjelmassa. Muuttujan avulla henkilön nimi voidaan tallentaa ja käyttää jossain vaiheessa komentosarjaa.

Muuttujat ovat väliaikaisia ​​tietojen haltijoita. He voivat pitää sisällään:

  • Numeeriset arvot ("numerot") - numerot, jotka voidaan lisätä yhteen. Esimerkki: 2 + 2 johtaa 4: ään
  • Merkkijonot - tekstikokoelma, kuten "JavaScript" tai "Nimeni on Mudd"
  • Tosi / väärät arvot - totuusarvo tosi ja väärä
  • Objektit - JavaScript tai käyttäjän määrittelemät objektit (JavaScript-muuttujat voivat sisältää muutamia muita tietoja, mutta nämä ovat ylivoimaisesti yleisimpiä tyyppejä)

(Huomaa: Kuten useimmissa nykyaikaisissa ohjelmointikielissä, JavaScript tukee taulukon muuttujia niiden skalaarimuuttujien lisäksi, joita käytetään yllä olevien tietotyyppien pitämiseen. Keskitymme tämän sarakkeen yhden arvon muuttujiin ja omistamme erillisen sarakkeen taulukoihin.)

JavaScript-muuttujat "kuuluvat" ne luoneeseen komentosarjaasiakirjaan; muuttujat menetetään, kun asiakirja puretaan. Lisäksi muuttujan sisältö poistetaan, kun määrität heille uuden arvon. Vaikka yhdessä asiakirjaskriptissä luotua muuttujaa ei yleensä näe toinen asiakirjaskripti, JavaScript tarjoaa tapoja jakaa muuttujia komentosarjojen välillä. Teet tämän viittaamalla asiakirjan nimeen muuttujan nimen kanssa.

Useat JavaScript-ohjeet luovat ja tallentavat muuttujia, mutta perustapa suorittaa tämä manuaalisesti on equals (=) -operaattori. Perussyntaksi on:

VariableName = arvo

Ensimmäinen argumentti on muuttujan nimi. Muuttujien nimet voivat olla hyvin pitkiä, mutta käyttämissäsi merkeissä on rajoituksia. Lisätietoja kelvollisista muuttujien nimistä on osiossa Muuttujien nimirajat.

Toinen argumentti on muuttujan sisältö. Voit laittaa muuttujaan kaikenlaisia ​​asioita, mukaan lukien numero, merkkijono, matemaattinen lauseke (kuten 2 + 2) ja useita muita asioita, joihin pääsemme vähän.

Pascalin käyttäjillä voi olla houkutus rakentaa muuttujan määritys käyttämällä: =. Huomaa, että JavaScripti ei tue tätä syntaksia.

Seuraava on tarkempi kuvaus neljästä yleisimmästä sisällöstä, jotka voit sijoittaa JavaScript-muuttujiin, mukaan lukien esimerkit.

Sisältö sijoitettu JavaScript-muuttujiin

Numerot muuttujina

Luku on yksi tai useampi tietokoneeseen tallennettu numero, jotta JavaScript voi suorittaa matemaattisia laskelmia heidän kanssaan. JavaScript tukee sekä kokonaislukuja että liukulukuarvoja. Jos haluat sijoittaa numeron muuttujaan, anna vain muuttujan nimi, yhtälömerkki (muuttujan määritysoperaattori) ja arvo, jota haluat käyttää. Esimerkiksi, mitä teet sijoittaa numero 10 muuttuja nimeltä MyVar:

MyVar = 10;

Merkkijonot muuttujissa

Merkkijono on yksi tai useampi tekstimerkki, joka on järjestetty muistiin yhtenä tiedostona. Merkkijonot voivat sisältää numeroita (numeroita), kirjaimia, välimerkkejä tai näiden elementtien yhdistelmän. Matemaattisia laskelmia ei voida suorittaa jousille. Merkkijonot määritetään JavaScript-muuttujille sulkemalla ne yhteen tai kahteen lainausmerkkiin:

"Olen jono"

tai

'Olen merkkijono'

Huomaa, että kaksois- tai yksittäiset lainausmerkit ovat hyväksyttäviä; toisin kuin jotkut kielet, kuten Perl, JavaScript ei tee eroa lainausmerkkien kahden muodon välillä. Tämä toimiva esimerkki osoittaa, kuinka merkkijono sijoitetaan muuttujaan:

MyVar = "Tämä on JavaScript";

Boolen arvot muuttujina

Boolen arvoja on kaksi: true ja false. Joillakin ohjelmointikielillä ei ole erillistä Boolen-arvojoukkoa, ja ne käyttävät sen sijaan arvoa 0 vääräksi ja 1 tai -1 (tai muuta arvoa, joka ei ole nolla) tosi. JavaScript voi käyttää näitä lukuja edustamaan totta ja väärää, mutta lisäksi se varaa sanat "totta" ja "väärä" tarkoittamaan loogista totta ja väärää. Voit ajatella, että Boolen todelliset ja väärät arvot vastaavat päälle / pois tai kyllä ​​/ ei. Jos haluat määrittää muuttujalle loogisen arvon, anna vain sana true tai false, ilman lainausmerkkejä. Tässä on esimerkki:

MyVar = tosi;

Objektit muuttujina

Muuttujat voivat sisältää objekteja, mukaan lukien JavaScript-objektit. Objektimuuttujia on periaatteessa kahdenlaisia:

  • Muuttujat, jotka sisältävät sisäänrakennettuja selaimeen liittyviä objekteja - ikkuna, asiakirja, navigaattori ja niin edelleen - ovat itse asiassa viittauksia alkuperäiseen objektiin. Ne ovat kuin kopioita, mutta kopiot muuttuvat, jos alkuperäinen muuttuu. Joissakin tapauksissa muuttujan objektin muuttaminen vaikuttaa alkuperäiseen JavaScript-objektiin.

  • Muuttujat, jotka sisältävät käyttäjän määrittelemiä objekteja, edustavat todellista objektia. Tee muutos muuttujan objektiin ja muutat vain kyseistä objektia.

Jos haluat määrittää JavaScript-objektin muuttujalle, anna objektin nimi kuten:

MyVar = navigaattori;

Jos haluat määrittää uuden kopion käyttäjän määrittelemästä objektista muuttujalle, käytä uutta käskyä ja anna objektitoiminnon nimi:

MyVar = uusi myObject ();

SUBHEAD Muuttujan nimen rajoitukset

Kun on kyse nimistä, jonka voit antaa muuttujalle, JavaScript tarjoaa paljon leveyttä. JavaScript-muuttujien pituus voi olla melkein rajoittamaton, vaikka käytännön syistä todennäköisesti pidät muuttujien nimet alle 10 tai 15 merkkiä. Lyhyemmät muuttujien nimet auttavat JavaScriptiä suorittamaan ohjelman nopeammin. Pidä seuraavat seikat mielessä, kun nimeät muuttujia:

  • Muuttujien nimien tulisi koostua vain kirjaimista - ilman välilyöntejä. Voit käyttää numeroita niin kauan kuin nimi ei ala numerolla. Esimerkiksi MyVar1 on hyväksyttävä, mutta 1MyVar ei.

  • Älä käytä välimerkkejä muuttujien nimissä. Poikkeus: alaviiva (_). Toisin sanoen muuttuja My_Var on hyväksyttävä, mutta My * Var ei. Muuttujat voivat alkaa alaviivalla.

  • Muuttujien nimet erottavat isot ja pienet kirjaimet. Muuttuja MyVar on selvästi erilainen muuttuja kuin myVar, myvar ja muut muunnelmat.

Ymmärtäminen JavaScriptin "löysät" muuttujatyypit

Toisin kuin jotkut muut ohjelmointikielet, JavaScriptissä ei tarvitse määritellä erikseen luotavan muuttujan tyyppiä. Tätä JavaScriptiä käyttäytymistä kutsutaan "löysälle datan kirjoittamiselle", ja se eroaa C: stä ja Java: sta, jotka molemmat käyttävät tiukkaa tietojen kirjoittamista.

JavaScriptissä muuttujatyyppejä ei tarvitse erottaa lisäämällä muuttujan nimen loppuun erikoismerkkejä, kuten merkkijonomuuttujalle MyVar $ (tai skalaarimuuttujalle $ MyVar a la Perl). JavaScript dekoodaa muuttujatyypin sisäisesti sen sisällön perusteella.

Var-lauseen käyttö muuttujan määrittämiseksi

JavaScript tukee var-käskyä, jota voidaan käyttää nimenomaisesti muuttujan määrittelemiseen. Syntaksi on vain lause var, välilyönti ja sama muuttujan määrityslauseke, joka on kuvattu edellä. Esimerkiksi:

var MyVar = "Tämä on muuttuja";

Voit käyttää muuttujan ilmoituksessa muuttujan var käskyä muuttujan kanssa, mutta ei määritellä sille arvoa:

var MyVar;

Tässä tapauksessa olet määrittänyt MyVar-muistin, mutta et ole vielä määrittänyt sille arvoa. Tätä tekniikkaa käytetään usein määritettäessä globaaleja muuttujia - muuttujia, jotka voidaan jakaa vapaasti missä tahansa komentosarjassa. Lisätietoja globaaleista muuttujista on alla olevassa osiossa "Muuttujien laajuuden ymmärtäminen".

Merkkijonon pituusrajoitukset

JavaScript asettaa 254 merkin rajoituksen kullekin merkkijonomuuttujan määritykselle ohjelmassa. Jos ylität 254 merkkirajoituksen, JavaScript vastaa "Keskeneräinen merkkijono kirjaimellinen" -virhesanomalla. (Huomaa: Tämä on pohjimmiltaan JavaScriptiä Netscape 2.0x: ssä; se on hyvä idea noudattaa, koska kaikki käyttäjät eivät ole ottaneet käyttöön Netscape 3.0: ta.)

Voit luoda pidempiä merkkijonoja "paloittelemalla" ne yhteen - kunhan kussakin kappaleessa on enintään 254 merkkiä. Kun olet määrittänyt merkkijonon kullekin muuttujalle, voit yhdistää ne + -merkillä. Tätä kutsutaan "ketjutukseksi". Seuraava esimerkki osoittaa ketjutuksen toiminnan:

MyVar = "Tämä on alku" + siitä, kuinka "+" pystyt rakentamaan merkkijonoja ";

Jokainen yksittäinen merkkijonosegmentti - joka on määritelty lainausmerkeissä - voi olla enintään 254 merkkiä. Jos haluat tehdä merkkijonosta yli 254 merkkiä, lisää vain lisää segmenttejä. Toinen lähestymistapa on rakentaa merkkijonot + = -operaattori-operaattorilla seuraavasti:

MyVar = "Tämä on alku" MyVar + = "siitä, miten" MyVar + = pystyt rakentamaan merkkijonoja "

Voit jatkaa ketjujen ketjuttamista tällä tavalla, kunhan tietokoneellasi on siihen muistia. Mutta vaikka JavaScript voi pitää suurempia merkkijonoja kuin mahdollista monilla muilla ohjelmointikielillä (kuten Basicin tyypillinen 64K), se voi huonontaa vakavasti järjestelmän suorituskykyä. Et tietenkään luo paljon valtavia merkkijonomuuttujia. On vain mukavaa tietää, että tarvittaessa JavaScript-muuttuja mahtuu niin paljon tekstiä.

Muuttujien "laajuuden" ymmärtäminen

"Muuttujan laajuudella" ei ole mitään tekemistä optiikan tai suuveden kanssa, vaan pikemminkin missä määrin muuttuja näkyy muille JavaScript-ohjelman osille. Ellet anna tarkkoja ohjeita JavaScriptiä muuten kertomaan, muuttujien laajuutta hallitaan seuraavasti:

  • Funktion ulkopuolella määritetyt muuttujat ovat käytettävissä mille tahansa komentosarjan toiminnolle, kunhan kaikki muuttujat on määritelty saman HTML-asiakirjan komentosarjassa. Näitä kutsutaan globaaleiksi muuttujiksi.

  • Funktion sisällä määritetyt muuttujat ovat myös globaaleja, olettaen, että var-käskyä ei käytetä ilmoitettaessa muuttujaa ensimmäisen kerran. Toisin sanoen MyVar = "hei."

  • Muuttujat, jotka määritetään funktion sisällä var-lauseella, ovat "paikallisia" vain tälle funktiolle. Näitä kutsutaan paikallisiksi muuttujiksi.

  • Globaalit muuttujat pysyvät muistissa myös sen jälkeen, kun komentosarja on lopettanut suorituksen. Muuttuja pysyy muistissa, kunnes asiakirja puretaan.

Paikallisia muuttujia käsitellään ikään kuin niitä ei olisi toiminnon ulkopuolella, missä ne on määritelty. Tällä tavalla voit käyttää samaa muuttujanimeä toiminnon sisällä, eikä muuttuja häiritse saman nimistä muuttujaa muualla komentosarjassa.

Seuraava esimerkki osoittaa tämän. Kun napsautat painiketta, komentosarja näyttää kolme hälytysruutua. Seuraavat tiedot tapahtuvat, kun napsautat painiketta:

  • JavaScript kutsuu firstFunction-toiminnon, joka määrittää arvon 1 paikalliselle muuttujalle nimeltä MyVar. MyVarin sisältö näytetään.

  • JavaScript kutsuu secondFunction-toiminnon, joka määrittää arvon 2 paikalliselle muuttujalle, jota kutsutaan myös MyVariksi. MyVarin sisältö näytetään.

  • JavaScript palaa firstFunction-toimintoon, jossa MyVarin sisältö näytetään jälleen. Tulos on 1, joka on MyVar local to firstFunction -arvon arvo.

Muuttujien viittaaminen muihin ladattuihin asiakirjoihin

Kehyksiä käytettäessä on usein tarpeen jakaa muuttujia dokumenttien välillä. Yksi tai useampi kehys saattaa tarvita muuttujan toiseen kehykseen. Luonteeltaan muuttujat (jopa globaalit) eivät ole näkyvissä niitä luoneen asiakirjan ulkopuolella. Joten kun haluat viitata muuttujaan toisessa asiakirjassa - ja olettaen, että asiakirja on ladattu selaimeen - sinun on viitattava nimenomaisesti tähän muuttujaan lisäämällä ikkunan nimi muuttujan nimen eteen. Tässä on syntaksia:

winname.varname

missä voittaja on asiakirjan nimi ja varnameon muuttujan nimi. Lisätietoja asiakirjojen nimistä hieman.

Voit määrittää ja viitata muuttujia seuraavalla tekniikalla. Esimerkiksi tämä asettaa MyDoc-ikkunan MyVar-muuttujan arvoksi 1:

mydoc.MyVar = 1;

Alla oleva koodi määrittää paikallisen MyVar-muuttujan arvon mydoc-ikkunassa.

VarInThisDoc = mydoc.MyVar;

Mistä ikkunoiden nimet tulevat? Kaikki riippuu siitä, miten ikkunoita käytetään.

Jos haluat käyttää muuttujaa luomassasi ikkunassa selaimen pääikkunassa, anna ensin "linkki" pääikkuna-objektiin seuraavalla tavalla:

newwindow = window.open ("", "NewWindow"); // toista tämä Mac / X Netscape 2.0: lle newwindow.creator = self;

Sitten tässä uudessa ikkunassa voit viitata mihin tahansa pääikkunan muuttujaan syntaksin avulla:

luoja.MyVar;

Jos haluat käyttää muuttujaa luomassasi ikkunassa, viittaa siihen käyttämällä objektinimeä, jonka annoit ikkunan luomisen yhteydessä. Voit esimerkiksi käyttää newwindow-ikkunaa, joka on luotu seuraavilla tavoilla:

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

Viittaa nyt tähän muuttujaan syntaksin avulla:

newwindow.MyVar;

Jos haluat käyttää kehysjoukossa määriteltyä muuttujaa - eli asiakirjaa, joka sisältää

tag - viittaa siihen vanhempana. Tässä on esimerkki:

vanhempi.MyVar;

Jos haluat käyttää muuttujaa toisessa kehysasiakirjassa, viittaa siihen käyttämällä kehyksessä annettua nimeä

Gordon McCombis kirjailija, konsultti ja luennoitsija. Hän on kirjoittanut 50 kirjaa ja yli tuhat aikakauslehden artikkelia 20 vuoden ajan ammattikirjailijana. Yli miljoona kopiota hänen kirjoistaan ​​on painettuna. Gordon kirjoittaa myös viikoittaisen syndikoidun sanomalehden sarakkeen tietokoneista, tavoittamalla useita miljoonia lukijoita ympäri maailmaa. Gordonin uusin kirja on JavaScript-lähdekirja, joka on saatavana Wiley Computer Publishing -sivustolta.

Lisätietoja tästä aiheesta

  • Netscape-ohjeet JavaScriptiä varten

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

  • JavaScript ja evästeet

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

  • Esimerkki JavaScript-muuttujista ja kehyksistä

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

  • Laajennettu esimerkki JavaScript-muuttujien käytöstä

    //www.hidaho.com/colorcenter/

Tämän tarinan "Hyödynnä käyttäjän määrittelemiä muuttujia JavaScriptissä" julkaisi alun perin JavaWorld.

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