VBScript-variabler: Dim, String, Boolean

โšก Smart sammanfattning

VBScript Variable Declaration anvรคnder nyckelordet Dim fรถr att reservera minne fรถr data. Variabler mรฅste deklareras och initieras separat, och รคven om VBScript har en enda varianttyp stรถder den undertyper som String, Integer, Boolean, Currency och Date.

  • ๐Ÿ“ฆ Dim nyckelord: Anvรคnd Dim fรถr att deklarera en variabel och reservera minne, till exempel Dim lรถn.
  • โœ๏ธ Deklarera sedan tilldela: Deklarera och initiera separat; att tilldela ett vรคrde pรฅ Dim-raden producerar ingen utdata.
  • ๐Ÿ”’ Alternativ explicit: Lรคgg till Option Explicit fรถr att tvinga fram variabeldeklaration och upptรคcka felstavade namn tidigt.
  • ๐Ÿ“š Arrayer: En enskild arrayvariabel som Dim students(29) innehรฅller mรฅnga relaterade vรคrden istรคllet fรถr separata variabler.
  • ๐ŸŽญ Varianttyp: VBScript har en datatyp, Variant, som anpassar sig till de data den innehรฅller.
  • ๐Ÿท๏ธ Undertyper: VarType() och TypeName() visar undertyper som String, Integer, Boolean, Currency och Date.

VBScript-variabler

Variabler ligger till grund fรถr programmering. Variabler anvรคnds fรถr att hรฅlla ett vรคrde eller ett uttryck. Nรคrhelst du har en bit data att arbeta med mรฅste du deklarera en variabel.

Till exempel, om du mรฅste lagra namn pรฅ studenter eller lรถner fรถr anstรคllda, kommer du att anvรคnda variabler som heter studenter eller lรถner.

Variabler kan ocksรฅ anvรคndas fรถr att hรฅlla uttryck. Anta att du har lagrat en elevs betyg i engelska och matematik med hjรคlp av variablerna markE och markM.

Du vill hitta de totala poรคngen. Sedan kan du anvรคnda en variabel som heter markT och stรคlla in dess vรคrde till markE + markM. Med andra ord, markT = markE + markM. Hรคr รคr markT en variabel som har ett uttryck.

Deklarera variabler

Att deklarera variabler รคr detsamma som att skapa variabler eftersom du instruerar datorn att reservera minnesutrymme. Du kan namnge variabeln som du vill. Det kan vara korta namn som x, y eller z eller fler sjรคlvbeskrivande namn som student, Namn, lรถn etc. Att tillhandahรฅlla tydliga och meningsfulla namn till variabler anses vara en bra programmeringspraxis.

Det finns vissa regler fรถr VBScript-variabelnamn.

  1. Variabelnamn mรฅste bรถrja med en bokstav. Exempel: lรถn, mรคrke etc. Variabler som bรถrjar med siffror eller specialtecken รคr inte tillรฅtna. Exempel: 1stSchool, 3rdCar, _name etc.
  2. Variabelnamnet fรฅr inte รถverstiga 255 tecken.
  3. Variabelnamn fรฅr inte innehรฅlla punkt (.).

Fรถr att deklarera variabler mรฅste du anvรคnda nyckelordet Dim. Anta att du planerar att anvรคnda en variabel som heter "lรถn" i din VBScript-program, syntax

Dim salary

Att bara fรถrklara VBS-variablerna hjรคlper dig inte, anvรคnd den. Du kommer att behรถva tilldela ett vรคrde till det nรฅgon gรฅng och denna process รคr kรคnd som att initiera variabeln. Om du planerar att deklarera en lรถn med variabelt namn, kan du koda sรฅ hรคr:

Dim salary
salary = 10000

Det viktiga du mรฅste se till รคr att du inte ska tilldela variabeln ett vรคrde nรคr och nรคr du deklarerar den. Anta att du skriver ett pรฅstรฅende sรฅ hรคr:

Dim salary = 10000

Om du fรถrsรถker skriva ut lรถn med document.write, kommer det inte att returnera nรฅgon utdata.

Code Exempelvis

Steg 1) ร–ppna din textredigerare och lรคgg till fรถljande kodrader.

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

Steg 2) Spara den hรคr filen som variabel.html pรฅ รถnskad plats och รถppna den sedan i IE (fรถlj stegen som specificerades i fรถregรฅende kapitel). Nu kommer du att se vรคrdet John i webblรคsaren.

Steg 3) Avsluta sedan rad #11 och 12

Spara filen igen och uppdatera IE-webblรคsaren om den redan รคr รถppen eller รถppna filen i IE-webblรคsaren. Du kanske blir fรถrvรฅnad รถver att inte se nรฅgonting; varken John eller Smith. Problemet hรคr รคr att du fรถrsรถkte tilldela variabeln vรคrdet samtidigt som du fรถrklarade det som inte รคr tillรฅtet.

Lรถs bindning

VBScript ger dig friheten att anvรคnda variabler utan att deklarera det (kallas lรถs bindning). Till exempel, utan att ha pรฅstรฅendet Dim student, kan du tilldela ett vรคrde till variabeln student som โ€“ student = "John"

Men det รคr inte alls en bra programmeringspraxis. Om du anvรคnder en variabel utan att deklarera den och felstavar samma variabel nรคr du anvรคnder den igen, kommer VBScript inte att frรฅga dig om felet.

Sรฅ fรถr att gรถra koden lรคttare att lรคsa och identifiera felen bรถr du anvรคnda Option Explicit-satsen i bรถrjan av din kod sรฅ att du kommer att tvingas deklarera alla dina variabler รคven om du glรถmmer att gรถra det. Fรถr att undvika problem med variabeltyp รคr det alltid bra att ange satsen Option Explicit i bรถrjan av din VBScript-kod.

Code Exempel:

Steg 1) ร–ppna din textredigerare och lรคgg till fรถljande kodrader.

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

Steg 2) Spara filen som variables.html pรฅ รถnskad plats. ร–ppna nu filen i Internet Explorer och skรคrmen รคr tom. Varfรถr? Fรถr att du har anvรคnt explicita alternativ men inte deklarerat variabler innan du anvรคnde dem.

Steg 3) Fรถr att nu fรถrstรฅ vikten av Option Explicit uttalande, avkommentera rad 5 i ovanstรฅende kod

Steg 4) Spara filen variables.html och uppdatera din webblรคsare. Nu kommer din utdata att vara sรฅ hรคr:

Lรถs bindning

Anmรคrkningar โ€“ Fรถr att sammanfoga tvรฅ strรคngar mรฅste du anvรคnda "&". I exemplet ovan anvรคnds det inuti document.write-kommandot. Det รคr uppenbart att berรคkningen av totalbetyg รคr felaktig. Lรคgg nu bara till den fรถrsta satsen Option Explicit i bรถrjan av VBScript-koden (utan Dim-satsen).

Spara filen och se utdata. Du fรฅr ingenting som utdata som indikerar att din kod har nรฅgot fel. Hรคr รคr felet att du inte har deklarerat variabler innan du anvรคnder dem รคven efter att du har angett Option Explicit-satsen.

Du kan ocksรฅ deklarera variabler med offentliga och privata nyckelord som en offentlig student eller privat student. Men du mรฅste vara mer fรถrsiktig nรคr du anvรคnder dessa tvรฅ nyckelord fรถr att deklarera variabler eftersom det kommer att รคndra omfattningen av dina variabler.

Du kan ocksรฅ lagra flera vรคrden i en enda variabel och sรฅdana variabler kallas VBScript-array variabler. Anta att du vill lagra detaljer som namn, mรคrken, adress etc fรถr 30 elever. Det kommer att bli riktigt svรฅrt att skapa och hantera uppsรคttningar med 30 variabler fรถr namn, mรคrken, adresser och sรฅ vidare.

Istรคllet kan du deklarera en enda variabel som heter elever och lagra namnen pรฅ alla 30 elever i denna variabel. I sรฅdana fall kommer du att deklarera variabeln som Dim studenter(29) (matrisindex bรถrjar frรฅn noll) och du kommer att tilldela vรคrden som

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

Pรฅ samma sรคtt kan du skapa variabler som mรคrken, adress etc fรถr att lagra respektive vรคrden fรถr alla 30 elever. Du kan ocksรฅ skapa flerdimensionella arrayer med upp till 60 dimensioner.

Code Exempel:

ร–ppna din textredigerare och lรคgg till fรถljande kodrader.

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

Hรคr har vi lagrat uppgifter om endast tre elever. Du kan lรคgga till information om upp till 20 elever eftersom vi har stรคllt in storleken pรฅ arrayen till 20 (eftersom index bรถrjar frรฅn 0).

VBScript-datatyper

I fรถregรฅende avsnitt kanske du har mรคrkt att vi tilldelat olika typer av data till variablerna. Vi har lagrat siffror (mรคrke och lรถn), strรคngar (namn) etc i olika variabler.

Dessa nummer, strรคngar etc รคr kรคnda som datatyper. Faktum รคr att VBScript har bara en datatyp som heter Variant. En variant รคr en speciell typ av datatyp som kan innehรฅlla olika typer av information.

Om du anvรคnder Variant i ett numeriskt sammanhang beter sig det som ett tal och nรคr du anvรคnder det i ett strรคngsammanhang beter sig det som en strรคng.

Med andra ord, nรคr du anger lรถn=10000 antar VBScript att lรถn รคr en numerisk datatyp. En variant gรถr specifika distinktioner om uppgifternas natur. Du kan till exempel anvรคnda varianttyp fรถr att lagra booleska vรคrden, valuta, datum och sรฅ vidare.

Dessa olika kategorier av information som kan finnas i en variant kallas undertyper. ร„ven om Variant oftast beter sig pรฅ ett sรฅdant sรคtt som รคr mest lรคmpligt fรถr den information den innehรฅller, bรถr du vara medveten om olika undertyper.

Fรถljande รคr listan รถver VBScript-datatyper.

  • Tom: En speciell undertyp fรถr att representera en variabel som inte har tilldelats nรฅgot vรคrde รคnnu.
  • Null: En speciell undertyp fรถr att representera en variabel tilldelad med ett nollvรคrde.
  • Heltal: Anvรคnder 2 byte fรถr att uttrycka heltal med tecken i intervallet -32,768 32,767 till XNUMX XNUMX.
  • Lรฅng: Anvรคnder 4 byte fรถr att uttrycka heltal frรฅn -2,147,483,648 2,147,483,647 XNUMX XNUMX till XNUMX XNUMX XNUMX XNUMX.
  • Singel: Anvรคnder 4 byte fรถr att uttrycka reella tal i flyttalsformat frรฅn -3.402823e38 till -1.401298e-45 fรถr negativa vรคrden och frรฅn 1.401298e-45 till 3.402823e38 fรถr positivt vรคrde.
  • Double: Anvรคnda 8 byte fรถr att uttrycka verkliga siffror i flytande punktformat, allt frรฅn -1.79769313486232E308 till -4.94065645841247E-324 fรถr negativa vรคrden och frรฅn 4.94065645841247E-324 till 1.79769313486232.
  • Valuta: Anvรคnder 8 byte fรถr att uttrycka reella tal i decimalformat frรฅn -922,337,293,685,477.5808 till 922,337,293,685,477.5807.
  • Datum: Anvรคnder 8 byte fรถr att uttrycka datum frรฅn 1 januari 100 till 31 december 9999.
  • Strรคng: Anvรคnder 1 byte per tecken fรถr att uttrycka en sekvens av tecken som kan vara upp till cirka 2 miljarder tecken.
  • Objekt: En speciell undertyp fรถr att representera en referens till ett objekt.
  • Error: En speciell undertyp som representerar ett felnummer.
  • Boolean: Anvรคnder 2 byte fรถr att innehรฅlla antingen True eller False.
  • Byte: Anvรคnder 1 byte fรถr att uttrycka heltal i intervallet 0 till 255.

Det finns tvรฅ inbyggda VBScript-funktioner som hjรคlper dig att kรคnna till undertypen av en variabel: "varType()" och "typeName()".

Typen var returnerar den numeriska representationen och typeName() returnerar textrepresentationen av variabelns undertyp. Varje undertyp har en fรถrdefinierad numerisk representation.

Code Exempelvis

ร–ppna din textredigerare och lรคgg till fรถljande kodrader.

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

Spara filen som subtype.html och รถppna den i IE. Din utdata kommer att se ut sรฅ hรคr:

VBScript-datatyper

OBS: Du kan ocksรฅ deklarera variabler med hjรคlp av allmรคn och privat nyckelord som offentlig student eller privat student. Men du mรฅste vara mer fรถrsiktig nรคr du anvรคnder dessa tvรฅ nyckelord fรถr att deklarera variabler eftersom det kommer att รคndra omfattningen av dina variabler.

Felsรถkning

Om du ser en tom sida efter att du kรถrt koden, gรถr fรถljande

  • Tryck pรฅ F12 fรถr att รถppna utvecklarverktyg
  • I det vรคnstra verktygsfรคltet blรคddrar du nedรฅt tills du ser instรคllningssidan "Emulering".
  • ร„ndra dokumentlรคge frรฅn ett standardlรคge ("Edge") till 10
  • Lรคgg till fรถljande kod i huvudet
    <meta http-equiv="x-ua-compatible" content="IE=10">

Vanliga frรฅgor

Dim deklarerar en variabel i det aktuella omfรฅnget. Public gรถr den tillgรคnglig รถverallt, medan Private begrรคnsar den till det skript eller den modul dรคr den deklareras. Bรฅda รคndrar variabelns omfรฅng.

Tom รคr subtypen av en variabel som รคr deklarerad men รคnnu inte tilldelad. I ett numeriskt sammanhang lรคses den som 0, och i ett strรคngsammanhang lรคses den som en tom strรคng.

En VBScript-array kan ha upp till 60 dimensioner, men de flesta anvรคnder en eller tvรฅ. Du anger storleken i Dim-satsen, till exempel Dim students(29) fรถr 30 element, eftersom indexeringen bรถrjar vid noll.

Ja. AI kan generera Dim-deklarationer, lรคgga till Option Explicit, fรถreslรฅ meningsfulla namn och konvertera lรถsa variabler till deklarerade. Den upptรคcker ocksรฅ felstavade namn som VBScript annars skulle missa vid kรถrning.

Ja. AI kan flagga odeklarerade eller felstavade variabler, felaktig anvรคndning av subtyper och vรคrden som tilldelats pรฅ Dim-raden. Den fรถrklarar varje problem och fรถreslรฅr en รฅtgรคrd, vilket minskar antalet tysta kรถrtidsbuggar.

Sammanfatta detta inlรคgg med: