webForumDet fria alternativet

Varför Dim?

ASPur ASP

3 svar · 215 visningar · startad av daPhil

Medlem sedan apr. 2001151 inlägg
Frågan#1

En riktig newbie fråga nu:

Varför ska man använda sig av Dim? Det funkar ju ändå...

Jag har sökt för att hitta detta i tidigare trådar, men fick 1200 träffar hur jag än sökte...

Medlem sedan jan. 2002473 inlägg
#2

Jag är också rätt newbie så vet inte om jag är behörig för att svara... men Dim skall nog stå för Dimension eller något liknande...

I alla fall så Deklarerar man en Variabel, man talar om för servern att denna variablen kommer jag att använda senare!
ASP- är rätt så snäll mot programeraren vilket gör att du måste in deklarera den som man måste i ex. Javascript.

Tror det har något med prestandaökning också, eller kanske mest bara för att hålla koll på sig själv!
Har jag fel så får någon slå mig lite på fingrarna! ;)

Medlem sedan dec. 200012 464 inlägg
#3

Det finns två anledningar att använda dim. Den ena är att man kan upptäcka fel och den andra är att det är en viss prestandavinst att ha dim

Man skall alltid ha med

option explicit

överst i sina program.

Det innebär att alla variabler måste anges i ett Dim statement. På så sätt kan undvika sådana fel som beror på felstavade variabelnamn.

Om man använder Dim så kan VB lägga ut en adress till variabeln vid kompileringen. Om man inte har det så måste man söka igenom symboltabellen i runtime vilket innebär en merkostnad.

Medlem sedan apr. 2002123 inlägg
#4

Nackdelen med att inte deklarera variablerna är det är lätt att skriva fel, t ex:
Function Repl(sln)
Temp = sln
Repl = Tmp
End Function
Nu kommer en tom sträng returneras av funktion, oavsett vilket värde du skickar in. Inleder du istället varje sida med <%Option Explicit%> slipper du detta. Fast då måste man deklarera variablerna innan man använder dom, men oandra sidan så hanteras variablerna snabbare när de väl påträffas i koden.

143 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)