VBScripti muutuja deklaratsioon andmetüüpidega: Dim, String, Boolean

Muutujad moodustavad programmeerimise aluse. Muutujaid kasutatakse väärtuse või avaldise hoidmiseks. Iga kord, kui teil on töötamiseks mõni andmeosa, peate deklareerima muutuja.

Näiteks kui peate salvestama õpilaste nimed või töötajate palgad, kasutate muutujaid nimega õpilased või palgad.

Muutujaid saab kasutada ka avaldiste hoidmiseks. Oletame, et olete salvestanud õpilase hinded inglise keeles ja matemaatikas, kasutades muutujaid markE ja markM.

Soovite leida koguhinde. Seejärel saate kasutada muutujat nimega markT ja määrata selle väärtuseks markE + markM. Teisisõnu, markT = markE + markM. Siin on markT muutuja, mis sisaldab avaldist.

Muutujate deklareerimine

Muutujate deklareerimine on sama, mis muutujate loomine, kuna annate arvutile käsu reserveerida mäluruumi. Saate muutuja nimetada nii, nagu soovite. Need võivad olla lühikesed nimed, nagu x, y või z, või rohkem ennast kirjeldavaid nimesid, nagu õpilane, nimi, palk jne. Muutujatele selgete ja tähenduslike nimede andmist peetakse heaks programmeerimistavaks.

VBScripti muutujate nimede jaoks kehtivad teatud reeglid.

  1. Muutuja nimi peab algama tähega. Näited: palk, hind jne. Numbrite või erimärkidega algavad muutujad ei ole lubatud. Näited: 1.Kool, 3.Auto, _nimi jne.
  2. Muutuja nimi ei tohi ületada 255 tähemärki.
  3. Muutuja nimi ei tohi sisaldada punkti (.).

Muutujate deklareerimiseks tuleb kasutada märksõna Dim. Oletame, et kavatsete kasutada muutujat nimega "palk". VBScript programm, süntaks

Dim salary;

Lihtsalt VBS-i muutujate deklareerimine ei aita teid, kasutage seda. Peate sellele mingil hetkel väärtuse määrama ja seda protsessi nimetatakse muutuja lähtestamiseks. Kui plaanite deklareerida muutuva nimetusega töötasu, saate kodeerida järgmiselt:

Dim salary
salary = 10000

Oluline on veenduda, et te ei määra muutujale väärtust selle deklareerimise ajal. Oletame, et kirjutate sellise avalduse:

Dim salary = 10000

Kui proovite väljastada palka kasutades document.write'i, siis see väljundit ei tagasta.

Koodinäide

Step 1) Avage oma tekstiredaktor ja lisage järgmised koodiread.

<html>
<head>
<title>Variables</title>
</head>
<body>

<script type="text/vbscript">
Dim variable1
variable1="John"
document.write(variable1)
‘Dim variable2 = "Smith"
‘document.write(variable2)
</script>

</body>
</html>

Step 2) Salvestage see fail nimega variable.html oma eelistatud asukohta ja seejärel avage see IE-s (järgides eelmises peatükis kirjeldatud samme). Nüüd näete brauseris väärtust John.

Step 3) Järgmiseks tühistage rida nr 11 ja 12

Salvestage fail uuesti ja värskendage IE brauserit, kui see on juba avatud, või avage fail IE brauseris. Sa võid imestada, et ei näe midagi; ei John ega Smith. Siin on probleem selles, et proovisite muutujale väärtust määrata selle deklareerimisel, mis pole lubatud.

Lahtine sidumine

VBScript annab teile vabaduse kasutada muutujaid ilma seda deklareerimata (nimetatakse lahtiseks sidumiseks). Näiteks ilma lauseta Dim õpilane, saate muutujale õpilane määrata väärtuse, näiteks – õpilane = "John"

Kuid see pole üldse hea programmeerimistava. Kui kasutate muutujat ilma seda deklareerimata ja kirjutate sama muutuja uuesti kasutamisel valesti, ei teavita VBScript teilt veast.

Nii et koodi lugemise hõlbustamiseks ja vigade tuvastamiseks peaksite kasutama koodi alguses käsku Option Explicit, et oleksite sunnitud deklareerima kõik muutujad, isegi kui unustate seda teha. Muutujatüübiga seotud probleemide vältimiseks on alati hea määrata VBScripti koodi alguses lause Option Explicit.

Koodi näide:

Step 1) Avage oma tekstiredaktor ja lisage järgmised koodiread.

<html>
<body>
<script type="text/vbscript">
Option Explicit
‘Dim markE, markM, markT
markE=90
markM=86
markT=markE+markM
document.write("Your marks in English is " & markE & "." & "<br />")
document.write("Your marks in Mathematics is " & markM & "." & "<br />")
document.write("Your total marks is " & markT & ".")
</script>

</body>
</html>

Step 2) Salvestage fail oma eelistatud asukohta nimega variables.html. Nüüd avage fail Internet Exploreris ja teie ekraan on tühi. Miks? kuna olete enne nende kasutamist kasutanud suvandit selgesõnalisi, kuid mitte deklareeritud muutujaid

Step 3) Nüüd, et mõista Option Explicit avalduse tähtsust, tühjendage ülaltoodud koodi 5. rea kommentaar

Step 4) Salvestage fail variables.html ja värskendage brauserit. Nüüd on teie väljund järgmine:

Lahtine sidumine

märkused - Kahe stringi ühendamiseks peate kasutama "&". Ülaltoodud näites kasutatakse seda käsu document.write sees. On ilmne, et koondhinnete arvestus on vale. Nüüd lihtsalt lisage VBScripti koodi algusesse esimene lause Option Explicit (ilma Dim-lauseta).

Salvestage fail ja vaadake väljundit. Te ei saa väljundina midagi, mis viitab sellele, et teie koodis on viga. Siin on viga selles, et te pole muutujaid enne selle kasutamist deklareerinud isegi pärast Option Explicit avalduse määramist.

Samuti saate muutujaid deklareerida, kasutades avalikke ja privaatseid märksõnu, näiteks avalik- või eraõpilane. Kuid nende kahe märksõna kasutamisel muutujate deklareerimiseks peate olema ettevaatlikum, kuna see muudab teie muutujate ulatust.

Ühte muutujasse saate salvestada ka mitu väärtust ja selliseid muutujaid nimetatakse VBScripti massiiv muutujad. Oletame, et soovite salvestada 30 õpilase üksikasju, nagu nimi, märgid, aadress jne. 30 muutujast koosnevaid komplekte nimede, tähiste, aadresside ja muu jaoks on tõesti keeruline luua ja hallata.

Selle asemel saate deklareerida ühe muutuja nimega õpilased ja salvestada selles muutujas kõigi 30 õpilase nimed. Sel juhul deklareerite muutuja kui Dim students(29) (massiivi indeks algab nullist) ja määrate väärtused

students(0) = "John"
students(1) = "Hannah"
students(2) = "Kevin"
.......
.......
students(28) = "Rose"
students(29) = "Emma"

Samamoodi saate luua muutujaid, nagu märgid, aadress jne, et salvestada kõigi 30 õpilase vastavad väärtused. Samuti saate luua kuni 60 mõõtmega mitmemõõtmelisi massiive.

Koodi näide:

Avage oma tekstiredaktor ja lisage järgmised koodiread.

<html>
<body>

<script type="text/vbscript">
Option Explicit
Dim students(19), marks(19)
students(0) = "John"
marks(0) = 95
students(1) = "Emma"
marks(1) = "83"
students(2) = "Kevin"
marks(2) = 87
 
document.write(students(0) & " has scored " & marks(0)  & ".<br />")
document.write(students(1) & " has scored " & marks(1)  & ".<br />")
document.write(students(2) & " has scored " & marks(2)  & ".<br />")
</script>

</body>
</html>

Siin oleme salvestanud ainult kolme õpilase andmed. Saate lisada kuni 20 õpilase üksikasju, kuna oleme seadnud massiivi suuruseks 20 (indeks algab 0-st).

VBScripti andmetüübid

Eelmises osas võisite märgata, et määrasime muutujatele erinevat tüüpi andmeid. Erinevatesse muutujatesse oleme salvestanud numbrid (märk ja palk), stringid (nimi) jne.

Neid numbreid, stringe jne tuntakse kui andmetüübid. Tegelikult on VBScriptil ainult üks andmetüüp nimega Variant. Variant on eritüüpi andmetüüp, mis võib sisaldada erinevat tüüpi teavet.

Kui kasutate varianti numbrilises kontekstis, käitub see nagu arv ja stringi kontekstis stringina.

Teisisõnu, kui määrate palga = 10000, eeldab VBScript, et palk on numbriline andmetüüp. Variant eristab konkreetseid andmete olemust. Näiteks saate variandi tüüpi kasutada Boole'i ​​väärtuste, valuuta, kuupäeva ja muu salvestamiseks.

Neid erinevaid teabekategooriaid, mida Variant võib sisaldada, nimetatakse alamtüüpideks. Kuigi enamasti käitub Variant selles sisalduvate andmete jaoks kõige sobivamal viisil, peaksite olema teadlik erinevatest alamtüüpidest.

Järgmine on VBScripti andmetüüpide loend.

  • Tühi: spetsiaalne alamtüüp, mis tähistab muutujat, millele pole veel väärtust määratud.
  • Null: spetsiaalne alamtüüp, mis tähistab nullväärtusega määratud muutujat.
  • Täisarv: 2 baiti kasutamine märgiga täisarvu väljendamiseks vahemikus -32,768 32,767 kuni XNUMX XNUMX.
  • Pikk: 4 baiti kasutamine märgiga täisarvude väljendamiseks vahemikus -2,147,483,648 2,147,483,647 XNUMX XNUMX kuni XNUMX XNUMX XNUMX XNUMX.
  • Üksik: 4 baiti kasutamine reaalarvude väljendamiseks ujukomavormingus vahemikus -3.402823e38 kuni -1.401298e-45 negatiivsete väärtuste korral ja 1.401298e-45 kuni 3.402823e38 positiivse väärtuse korral.
  • Double: 8 baiti kasutamine reaalarvude väljendamiseks ujukomavormingus vahemikus -1.79769313486232e308 kuni -4.94065645841247e-324 negatiivsete väärtuste jaoks ja 4.94065645841247e-324e-1.79769313486232 positiivsete väärtuste korral 308e-XNUMXe.
  • Valuuta: 8 baiti kasutamine reaalarvude väljendamiseks kümnendvormingus vahemikus -922,337,293,685,477.5808 922,337,293,685,477.5807 XNUMX XNUMX XNUMX kuni XNUMX XNUMX XNUMX XNUMX XNUMX.
  • Kuupäev: 8 baiti kasutamine kuupäevade väljendamiseks vahemikus 1. jaanuar 100 kuni 31. detsember 9999.
  • String: 1 baiti kasutamine tähemärgi kohta, et väljendada kuni ligikaudu 2 miljardit tähemärki sisaldavate tähemärkide jada.
  • Objekt: spetsiaalne alamtüüp, mis tähistab viidet objektile.
  • Viga: spetsiaalne alamtüüp veanumbri esitamiseks.
  • Tõeväärtus: 2 baiti kasutamine tõese või vale sisaldamiseks.
  • Bait: 1 baiti kasutamine täisarvu väljendamiseks vahemikus 0 kuni 255.

Sisseehitatud on kaks VBScripti funktsioonid mis aitavad teil teada muutuja alamtüüpi: "varType()" ja "typeName()".

Tüüp var tagastab numbrilise esituse ja typeName() tagastab muutuja alamtüübi tekstiesituse. Igal alamtüübil on eelnevalt määratletud numbriline esitus.

Koodinäide

Avage oma tekstiredaktor ja lisage järgmised koodiread.

<html>
<head>
<script type="text/vbscript">
Option Explicit
Dim a
a = Empty
document.write("a = " & a & "<br />")
document.write("The numeric representation of a is " & VarType(a)  & "<br />")
document.write("The variable a is of " & TypeName(a) & " data type."  & "<br /><br />")

Dim b
b = Null
document.write("b = " & b & "<br />")
document.write("The numeric representation of b is " & VarType(b)  & "<br />")
document.write("The variable b is of " & TypeName(b) & " data type."  & "<br /><br />")

Dim c
c = 4
document.write("c = " & c & "<br />")
document.write("The numeric representation of c is " & VarType(c)  & "<br />")
document.write("The variable c is of " & TypeName(c) & " data type."  & "<br /><br />")

Dim d
d = -2100483648
document.write("d = " & d & "<br />")
document.write("The numeric representation of d is " & VarType(d)  & "<br />")
document.write("The variable d is of " & TypeName(d) & " data type."  & "<br /><br />")

Dim e
e = -3.402823E38
document.write("e = " & e & "<br />")
document.write("The numeric representation of e is " & VarType(e)  & "<br />")
document.write("The variable e is of " & TypeName(e) & " data type."  & "<br /><br />")

Dim f
f = "John"
document.write("f = " & f & "<br />")
document.write("The numeric representation of f is " & VarType(f)  & "<br />")
document.write("The variable f is of " & TypeName(f) & " data type."  & "<br /><br />")

Dim g
g = True
document.write("g = " & g & "<br />")
document.write("The numeric representation of g is " & VarType(g)  & "<br />")
document.write("The variable g is of " & TypeName(g) & " data type."  & "<br /><br />")
</script>

</head>
<body>
</body>
</html>

Salvestage fail nimega subtype.html ja avage see IE-s. Teie väljund näeb välja selline:

VBScripti andmetüübid

MÄRKUS. Muutujaid saate deklareerida ka kasutades avalik ja era- märksõnad, nagu avalik üliõpilane või eraõpilane. Kuid nende kahe märksõna kasutamisel muutujate deklareerimiseks peate olema ettevaatlikum, kuna see muudab teie muutujate ulatust.

kokkuvõte

  • Muutujaid kasutatakse väärtuse või avaldise hoidmiseks programmeerimise ajal. Muutujad tuleb deklareerida ja lähtestada eraldi.
  • Kuigi saate muutujaid kasutada ilma deklareerimata, peetakse muutujate deklareerimist enne nende kasutamist heaks programmeerimistavaks.
  • Variant on ainus VBScripti andmetüüp ja variandil on erinevad alamtüübid, sealhulgas String, Boolean, Integer, Currency jne.

Probleemid

Kui näete pärast koodi käivitamist tühja lehte, tehke järgmist

  • Arendaja tööriistade avamiseks vajutage klahvi F12
  • Kerige vasakpoolsel tööriistaribal allapoole, kuni näete seadete lehte „Emulatsioon”.
  • Muutke dokumendirežiim vaikerežiimilt ("Edge") 10-le
  • Lisage pähe järgmine kood
    <meta http-equiv="x-ua-compatible" content="IE=10">