Lausekkeita käytetään JavaScriptissä sen ohjelmavirran hallitsemiseksi. Toisin kuin ominaisuudet, menetelmät ja tapahtumat, jotka ovat olennaisesti sidottu niitä omistavaan objektiin, lauseet on suunniteltu toimimaan riippumatta kaikista JavaScript-objekteista. Tämä tarkoittaa, että voit käyttää lausetta riippumatta siitä, työskenteletkö asiakirjaobjektin, ikkunaobjektin, historiaobjektin tai muun objektin kanssa. Kielenä JavaScript tukee suhteellisen vähän lausuntoja - vain tarpeeksi toimeentuloon. Se tarjoaa kuitenkin vähimmäisvaatimukset lausekkeista, joita tarvitaan täysin toimivan sovelluksen rakentamiseen.
JavaScript tukee tällä hetkellä seuraavia yksitoista lausetta. Huomaa, että jotkut näistä - kuten kommentti, var ja uusi - eivät ole vilpittömät lausunnot, mutta niitä kohdellaan usein sellaisina. Ne sisältyvät tähän keskusteluun täydellisyyden vuoksi.
- // kommentti
- tauko
- jatkaa
- varten
- varten ... sisään
- toiminto
- tai muuten
- Uusi
- palata
- var
- sillä aikaa
- kanssa
Muutamasta Java-ohjelmassa esitetystä lausunnosta puuttuu erityisesti JavaScriptiä. Tämä sisältää kytkinlausekkeen sekä kaikenlaiset virheitä vangitsevat lauseet (kuten kiinni ja heittää). JavaScript pitää nämä lauseet varattuina sanoina, ja ehkä joissakin tulevissa versioissa ne toteutetaan.
Kommentti (//)
// -merkit kertovat JavaScriptille, että haluat sisällyttää selittäviä kommentteja ohjelmaasi. Kommentti päättyy ensimmäiseen vaikeaan palautukseen. JavaScripti ei aseta rajoituksia kommentin pituudelle, kunhan palautusta ei ole ennen kommentin päättymistä. JavaScript olettaa tekstin, kun palautus on kelvollinen koodi.
// Tämä on yksinkertainen kommentti
// Tämä on toinen kommentti, joka kattaa useamman kuin yhden rivin. Vaikka kommentti kiertyy toiselle riville, ensimmäinen rivi päättyy "pehmeään paluun" tekstieditoriohjelmassa. Ei kovaa paluuta -merkkiä lisätään.
Voit sijoittaa // kommenttimerkit mihin tahansa riville. JavaScript käsittelee kaikkea kyseisen rivin // jälkeen olevaa tekstiä kommenttina.
MyVariable = "Tämä on testi" // määrittää tekstimuuttujan MyVariable
Kommentteja ei oteta huomioon komentosarjaa toistettaessa, joten ne eivät vaikuta suuresti suorituksen nopeuteen. Monet kommentit kuitenkin lisäävät komentosarjojen tiedostokokoa, ja niiden lataaminen käyttäjän tietokoneelle puhelinverkkoyhteyden kautta kestää kauemmin. Saat parhaat tulokset rajoittamalla JavaScript-ohjelmien kommentit lyhyisiin, yksirivisiin.
Pitkiä kommentteja kirjoitettaessa on parempi käyttää vaihtoehtoisia kommentointimerkkejä / * ja * /. Näiden merkkien välistä tekstiä käsitellään kommenttina. Vaihtoehtoisesti voit aloittaa jokaisen rivin // kommenttimerkillä.
// Tämä osio tarkistaa, onko Enter-näppäintä painettu, // jatkuu sitten
tai
/ * Tämä osa tarkistaa, onko Enter-näppäintä painettu, ja jatkuu sitten * /
Takaisin hakemistoon
Tauko
Break-lause käskee JavaScriptiä poistumaan "hallitusta rakenteesta" ja jatkamaan suoritusta rakenteen jälkeisessä kohdassa. Break-lausetta käytetään rakenteilla, jotka on rakennettu seuraavilla komennoilla:
- varten
- varten ... sisään
- sillä aikaa
Break-lausetta käytetään yleisimmin for for -silmukan ennenaikaiseen lopettamiseen. Esimerkiksi:
for (Count = 1; Count <= 10; Count ++) {if (Count == 6) -katko; document.write ("Silmukka: "+ Count +"
"); }
Tämä esimerkki näyttää for for -silmukan, joka laskee välillä 1-10 ja tulostaa luvun silmukan jokaisessa iteraatiossa. For-silmukan sisällä olevaa if-käskyä käytetään testaamaan, onko Count-muuttujan arvo sama kuin 6. Jos Count on yhtä suuri kuin 6, break-lause suoritetaan ja komentosarja poistuu for-silmukasta. Tässä yksinkertaisessa esimerkissä komentosarja laskee 1: stä 6: een ja pysähtyy. Se poistuu for-silmukasta, ennen kuin se voi laskea jopa 10.
Takaisin hakemistoon
Jatkaa
Jatka-käsky kehottaa JavaScriptiä ohittamaan kaikki ohjeet, joita voi seurata silmukassa for, for ... in tai while ja jatkaa seuraavaa iteraatiota. Jatka-lauseen yleisin käyttö on ohittaa ehdollisesti ohjeet silmukassa, mutta ei poistua silmukasta (kuten tauko-käsky tekee). Esimerkiksi:
varten (Count = 1; Count <= 10; Count ++) {jos (Count == 6) jatkuu; document.write ("Silmukka: "+ Count +"
"); }
Yllä oleva esimerkki näyttää for for -silmukan, joka laskee välillä 1-10 ja tulostaa luvun silmukan jokaisessa iteraatiossa. For-silmukan sisällä olevaa if-käskyä käytetään testaamaan, onko Count-muuttujan arvo sama kuin 6. Jos Count on 6, jatko-lause suoritetaan ja komentosarja ohittaa document.write-käskyn seuraavalle riville. Mutta silmukka ei pääty. Sen sijaan se jatkaa ja tulostaa rivit jäljellä oleville numeroille. Tässä yksinkertaisessa esimerkissä skripti laskee välillä 1-5, ohittaa 6 ja tulostaa sitten 7-10.
Takaisin hakemistoon
Sillä
For-lause toistaa käskylohkon yhden tai useamman kerran. Iteraatioiden määrää ohjataan argumentteina annetuilla arvoilla. For-lauseen syntaksi on:
varten (InitVal; Testi; Inkrementti)
InitVal
on for-silmukan alkuarvo. Se on usein 0 tai 1, mutta se voi olla mikä tahansa numero.InitVal
on lauseke, joka määrittää alkuarvon ja määrittää kyseisen arvon muuttujalle. Esimerkiksi Count = 0 tai i = 1.Testata
on lauseke, jota lauseke käyttää silmukan iteraatioiden määrän säätämiseen. Niin kauan kuinTestata
lauseke on totta, silmukka jatkuu. KunTestata
lauseke osoittautuu vääräksi, silmukka päättyy. Esimerkki: Luku <10 on tosi, kunhan Count-muuttujan arvo on alle 10.Lisäys
ilmaisee kuinka haluat for-silmukan laskevan - yksitellen, kaksoisina, viidesinä, kymmeninä ja niin edelleen. Tämä on myös ilmaisu ja yleensä muodossaCountVar ++
, missäCountVar
on muuttujalle ensin määritetty muuttujan nimiInitVal
ilmaisu. Esimerkki: Count ++ kasvattaa Count-muuttujan arvoa yhdellä kullekin iteraatiolle.
Tässä on esimerkki for for -silmukasta, joka laskee 1: stä 10: een, vaiheittain yksi numero kerrallaan. Kullakin iteraatiolla komentosarja lisää tekstiä ja aloittaa uuden rivin. Toistettava JavaScripti on suljettu {ja} merkkeihin for-lauseen jälkeen; tämä muodostaa for lause-lauseen. Voit antaa yhden tai useamman rivin {ja} merkkien sisällä.
for (Count = 1; Count <= 10; Count ++) {document.write ("Iteraatio:" + Count + ""); }
Count on muuttujan nimi, jota käytetään for loop -laskurin tallentamiseen. For-silmukka alkaa luvulla 1 ja etenee arvoon 10. Testilauseke on Count <= 10, joka lukee:
Luku on pienempi tai yhtä suuri kuin 10
Niin kauan kuin tämä lauseke on totta, for-silmukka jatkuu. Huomaa, että Increment-argumentti on myös lauseke ja esimerkissä käytetään Count-muuttujaa korottamaan for-silmukkaa yhdellä kullakin iteraatiolla. Ei ole lakia, jonka mukaan sinun on lisättävä for for -silmukkaa yksitellen. Tässä on vain yksi monista vaihtoehdoista. Tämä esimerkki laskee kymmenillä 10: stä 100: een.
for (Count = 1; Count <101; Count + = 10) {document.write ("Iteraatio:" + Count + ""); }
Takaisin hakemistoon
Sillä ... sisään
For ... in -lauseke on erityisversio edellisessä osassa kuvatusta for-lauseesta. Sillä ... in käytetään objektien ominaisuuksien nimien ja / tai ominaisuuksien näyttämiseen. Se on enimmäkseen kätevä virheenkorjaus- ja testaustyökaluna: Jos osa JavaScript-koodistasi ei toimi kunnolla ja epäilet, että se voi olla syynä käyttämällesi JavaScript-objektille, voit tutkia kaikki että esine lausekkeella for ....
Toisin kuin for-lauseessa, for ... in ei käytä kasvavia testejä tai muita lausekkeita. Annat pitomuuttujan nimen (muuttujan nimi on sinun tehtäväsi) ja objektin, jota haluat käyttää. Lausekkeen for ... lauseen perussyntaksi on:
for (var objektissa) {lauseet}
- var on muuttujan nimi
- esine on kohde, jota haluat tutkia
- lauseet ovat yksi tai useampia JavaScript-ohjeita, jotka haluat suorittaa jokaiselle ominaisuudelle, jonka for ... -silmukka palauttaa
Oletetaan esimerkiksi, että haluat määrittää navigaattoriobjektin ominaisuudet (tämä objekti sisältää tietoja Netscape Navigatorista tai muusta käyttämästäsi selaimesta). Seuraava koodi näyttää kunkin ominaisuuden nimen hälytysruudussa. Kun suoritat komentosarjaa, siirry seuraavaan ominaisuuden nimeen napsauttamalla OK. Silmukka päättyy automaattisesti, kun objektissa ei ole enää ominaisuuksia.
for (temp navigaattorissa) {alert (temp); }
Tämän esimerkin muunnelma on esitetty alla. Se näyttää paitsi ominaisuuksien nimet myös kunkin ominaisuuden sisällön (jotkin ominaisuudet ovat tyhjiä, joten niiden sisältöä ei näytetä). Ominaisuuksien sisältö näytetään syntaksiobjektilla [var] tai tässä tapauksessa navigaattorilla [temp].
for (temp navigaattorissa) {alert (temp + ":" + navigaattori [temp]); }
For..in -silmukkaa voidaan käyttää kaikille objektityypeille. Voit käyttää sitä iteroimaan kaikki asiakirjan lomakkeen ominaisuudet tai käyttäjän määrittelemän objektin ominaisuudet. Esimerkiksi, jos haluat selata lomakkeen kaikkia ominaisuuksia, käytä for ... -silmukkaa kuten seuraavassa esimerkissä (olettaen, että lomakkeen nimi on "myform"):
toimintotesti () {for (temp in document.myform) {alert (temp); }}
Takaisin hakemistoon
Toiminto
Funktion lausekkeen avulla voit luoda omia käyttäjän määrittelemiä toimintoja (samoin kuin käyttäjän määrittelemiä objekteja ja menetelmiä kyseisille kohteille). Toiminnot ovat itsenäisiä rutiineja, joita voidaan "kutsua" muualla JavaScript-koodissasi. Esimerkiksi, jos sinulla on funktio nimeltä
writeMyName
, joka näyttää nimesi otsikkotekstinä, voit aktivoida sen vain viittaamalla nimeen
writeMyName
jossain JavaScript-koodisi sisällä. Tässä on lyhyt
testata
joka näyttää kuinka tämä voi toimia:
Toimintotestifunktio writeMyName () {MyName = "John Doe" alert (MyName)}
writeMyName
toiminto määritetään ... -tagien sisällä. Se aktivoituu (muuten kutsutaan nimellä "kutsuttu"), kun lomakepainiketta painetaan. Tämä kutsu suoritetaan käyttämällä klikkaamalla
tapahtumankäsittelijä, määritelty lomakepainikkeen tagissa.
Takaisin hakemistoon
Tai muuten
If-ohjelmaa yhdessä sen valinnaisen muun lausekkeen kanssa käytetään luomaan "jos ehdollinen" -lauseke. Sitä kutsutaan ehdolliseksi lausekkeeksi, koska se testaa tiettyä ehtoa.
- Jos lauseke on tosi, komentosarja suorittaa ohjeet if-lauseen mukaisesti.
- Jos lauseke on väärä, komentosarja siirtyy ohjeisiin, jotka seuraavat muuta lausetta. Jos muuta lausetta ei ole, komentosarja hyppää kokonaan if-lauseen ohi ja jatkuu sieltä.
Syntaksi if: lle on:
jos (ilmaisu)
If-lausekkeen tulos on aina joko tosi tai väärä. Seuraava syntaksia voidaan hyväksyä, kun if- ja else-lauseita seuraa vain yksi käsky:
if (EsimerkkiVar == 10) Käynnistä (); muuten Pysäytä ();
Jos useampi kuin yksi käsky seuraa if- tai muu-käskyä, merkkejä {ja} on käytettävä määritettäessä if-lause lohko. Kun {ja} merkit ovat paikallaan, JavaScript tietää suorittavan kaikki lohkon ohjeet.
jos (EsimerkkiVar == 10) {Laskenta = 1; Alkaa(); } muu {Laskuri = 0; Lopettaa(); }
Lausekkeet, jos lauseet eivät rajoitu == tasa-arvooperaattoriin. Voit testata, eivätkö arvot ole yhtä suuria, suurempia kuin, pienempiä ja enemmän. Lisätietoja käyttämistäsi operaattoreista on tämän sarakkeen lopussa olevassa viiteluettelossa. Se viittaa arvokkaaseen JavaScript-dokumentaatioon, mukaan lukien Netscapen toimittama dokumentaatio.
Takaisin hakemistoon
Uusi
Uusi käsky luo uuden kopion objektista. Sitä käytetään kahdella tavalla:
- Uuden päivämääräobjektin määrittäminen (päivämäärä on sisäänrakennettu JavaScript-objekti)
- Uuden käyttäjän määrittelemän objektin määrittäminen
Syntaksi on sama kummallakin käytöllä:
varname = new objectName (parametrit);
varname on uuden objektin nimi. Hyväksyttävät nimet ovat samat kuin JavaScript-muuttujilla. Itse asiassa voit pitää luotua objektia JavaScript-muuttujana.
objectName
on objektin nimi. Kun käytät sisäänrakennettua Date-objektia, käytät sanaa Date (huomaa isot kirjaimet - tämä on pakollista). Kun käytät käyttäjän määrittämää objektitoimintoa, annat objektitoiminnon nimen.- parametrit ovat yksi tai useampi parametri, jotka välität tarvittaessa objektitoiminnolle.
Seuraava esimerkki näyttää, kuinka uuden käskyn avulla luodaan kopio - joka tunnetaan myös nimellä "ilmentymä" - Date-objektista:
now = uusi päivämäärä ();
Nyt -objektilla, jota voidaan pitää JavaScript-muuttujana, on kaikki JavaScript Date -objektin ominaisuudet ja menetelmät. Esimerkiksi nykyisen objektin avulla määrität nykyisen kellonajan:
now = uusi päivämäärä (); HourNow = nyt.getHours ();