VBScript-funktiot ja -menettelyt esimerkin kanssa
โก รlykรคs yhteenveto
VBScript-funktiot ja -proseduurit jรคrjestรคvรคt koodin uudelleenkรคytettรคviksi lohkoiksi. Sub-proseduuri suorittaa lauseita palauttamatta arvoa, kun taas Function-proseduuri palauttaa arvon liittรคmรคllรค sen funktion nimeen ja argumentit vรคlitetรครคn ByRef- tai ByVal-arvojen avulla.

VBScript-menettelyt
VBScript-proseduureja kรคytetรครคn pรครคasiassa koodin jรคrjestรคmiseen ja uudelleenkรคyttรถรถn. Olemme kรคyttรคneet yksinkertaisia โโesimerkkejรค tรคhรคn asti, koska tรคssรค tarkoituksena on oppia VBScript. Mutta todellisessa tilanteessa koodi ei ole niin yksinkertainen. Kun yritรคt toteuttaa jotain hyรถdyllistรค, koodi saattaa muuttua monimutkaisemmaksi. Sivuilla voi olla satoja rivejรค.
Jos et jรคrjestรค koodia kunnolla, koko koodin koodaus-, virheenkorjaus- ja hallintaprosessista tulee todella monimutkainen. Joten sinun tulee jรคrjestรครค tai moduloida koodi huolellisesti, jotta koodistasi tulee helposti hallittavissa.
Lisรคksi oletetaan, ettรค sinulla on joukko lauseita, jotka suorittavat tietyn toiminnon. Haluat, ettรค sama toiminto toistetaan useita kertoja. Miksi sitten pitรคisi kirjoittaa sama koodi uudestaan โโja uudestaan? Kรคyttรคmรคllรค tehokkaita tekniikoita voit tehdรค koodistasi uudelleen kรคytettรคvรคn. Tรคmรค auttaa kehittรคjiรค jรคrjestรคmรครคn koodin kauniisti ja testaajia tunnistamaan virheet helposti. Lyhyesti sanottuna koodin modularisointi ja uudelleenkรคyttรถ ovat erittรคin tรคrkeitรค, jotta koodista tulee tehokkaampi, luotettavampi ja helpompi yllรคpitรครค. Tรคssรค tulevat menettelyt kuvaan.
VBScriptin menettelytyypit
Proseduuri on koodilohko, joka ihannetapauksessa suorittaa yhden toiminnon. Koodilohko, joka kรคsittelee syรถtteen tai kรคsittelee tiedostoa, on hyvรค esimerkki funktiosta. Siinรค on kahdenlaisia โโmenettelyjรค vbscript.
- Alimenettely: Alimenettely ei palauta arvoa.
- Funktiomenettely: Funktion menettelyรค kรคytetรครคn, jos haluat palauttaa arvon.
Alimenettelyt
Jos haluat suorittaa joukon lausekkeita palauttamatta mitรครคn arvoa, voit kรคyttรครค alitoimenpiteitรค.
Alimenettelyt alkavat ja pรครคttyvรคt Sub- ja End Sub -lauseisiin. Alimenettelyt voivat ottaa argumentteja, mutta eivรคt voi palauttaa arvoa. Alimenettelyt voivat ottaa syรถtteitรค tai olla ottamatta niitรค vastaan.
Sub outputMessage() document.write("Welcome") End Sub
Pelkรคstรครคn tรคmรคn koodin kirjoittaminen ei tuota mitรครคn. Tรครคllรค olet luonut aliproseduurin nimeltรค outputMessage. Seuraavaksi sinun tรคytyy soittaa sille.
kutsu outputMessage()
Yhdistรค molemmat koodisarjat sisรคlle tag like this.
<script type="text/vbscript"> Sub outputMessage() document.write("Welcome") End Sub call outputMessage() </script>
Tรคmรคn koodin tulos on
VBScript-funktiot
Jos haluat suorittaa joukon lauseita ja palauttaa arvon, sinun on kรคytettรคvรค funktioproseduureja, jotka tunnetaan yleisesti nimellรค funktio.
Funktioproseduurit alkavat ja pรครคttyvรคt Function- ja End Function -kรคskyihin.
Toimintomenettely voi ottaa syรถtteen tai ei.
Funktiomenettelyt palauttavat arvon mรครคrittรคmรคllรค arvon sen nimeen.
<script type="text/vbscript"> Function findArea(radius) const pi=3.14 area = pi*radius*radius findArea = area End Function document.write("The area of the circle when the radius is 20 is " & findArea(20) &"<br/>") document.write("The area of the circle when the radius is 10 is " & findArea(10)) </script>
Tรคmรคn koodin tulos on
ByRef ja ByVal -parametrit
Voit vรคlittรครค VBScript-argumentteja proseduureille viittauksen tai arvon perusteella.
Jos et mรครคritรค mitรครคn, kun kutsut proseduuria, argumentti/argumentit vรคlitetรครคn oletusarvoisesti viittauksella.
Jos argumentteihin tehdyt muutokset sรคilyvรคt myรถs proseduurin kutsumisen jรคlkeen, sinun on vรคlitettรคvรค VBScript-argumentit viittauksella.
Kun argumentti vรคlitetรครคn arvon mukaan, kutsutun proseduurin tekemรคt muutokset parametrin arvoon muuttuja รคlรค jatku toimenpiteen kutsumisen jรคlkeen.
Avainsanoja ByRef ja ByVal kรคytetรครคn vรคlittรคmรครคn argumentit viittauksen ja arvon perusteella.
Ymmรคrtรครคksesi eron, suorita ensin alla oleva koodi ja katso tulos.
Vaihe 1) Kopioi koodi editoriin
<script type="text/vbscript"> Function returnResult(ByRef value) value = value +1 returnResult = value End Function Dim x x=5 call returnResult(x) document.write(x) </script>
Vaihe 2) lรคhtรถ on 6.
Vaihe 3) Muuta Function returnResult(ByRef-arvo) arvoksi Function returnResult(ByVal-arvo)
Vaihe 4) Nyt tulostesi on 5.
