---
title: "Tjänar på Option Explicit?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/103434-tjänar-på-option-explicit"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Bosse168"
published: "2004-05-12T12:45:05.000Z"
updated: "2004-05-14T07:20:23.000Z"
replies: 12
views: 455
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/103434-tjänar-på-option-explicit"
---

# Tjänar på Option Explicit?

## #1 — Bosse168, 2004-05-12T12:45Z

Tjänar man mycket på att använda Option Explicit på sina sidor?

```
<%@ LANGUAGE="VBSCRIPT" %>
<%
Option Explicit
Response.Expires=-1
Response.Buffer = True
%>
```

När man använder Option Explicit måste man då "dimma" alla sina RecSet också alltså inte bara variablarna? Och tjänar namn något på att använda *Set variabelNamn = Nothing* när man användt klart variablen?

Permalänk: https://www.webforum.nu/p/103434

## #2 — Bosse168, 2004-05-12T13:05Z

Har ett problem när jag använder Option Explicit Jag måste ju sätta alla variablar men hur gör jag när jag ska använda en funktion som kollar texten? Kanske ska nämna att jag inkluderar filen som gör kollen av texten.

```

function kontrollText(Text)

Sen för att skriva ut texten:

kontrollText(Rs("fraga"))
```

**Felmeddelandet när jag inte sätter variablen:**
Microsoft VBScript runtime error '800a01f4' 

Variable is undefined: 'kotrollText'

**Med Dim:**
Microsoft VBScript runtime error '800a000d' 

Type mismatch

Permalänk: https://www.webforum.nu/p/1344981

## #3 — @nders, 2004-05-12T13:13Z

Det heter ju kontrollText, inte kotrollText. Där har du det bästa med Option Explicit, du ser direkt när du skrivit fel.

Permalänk: https://www.webforum.nu/p/1344984

## #4 — Bosse168, 2004-05-12T13:47Z

Ok det löste det men hur är det med prestandan?

Permalänk: https://www.webforum.nu/p/1344999

## #5 — Jesper T, 2004-05-12T13:51Z

Dim i
i=1

ger bättre prestanda än
i=1

Permalänk: https://www.webforum.nu/p/1345005

## #6 — OveRRidE, 2004-05-12T13:52Z

Det finns vissa argument för att Option Explicit ökar prestanda, när det handlar om stora/intensiva exekveringar, men jag vågar inte svara på hur mycket eller hur.

Permalänk: https://www.webforum.nu/p/1345006

## #7 — nitro2k01, 2004-05-12T14:09Z

Option Explicit ändrar i sig inte prestandan nämnvärt. Däremot är man ju tvungen att deklarera alla variabler, vilket kan ge en viss prestandaökning. (Antagligen ganska liten dock, eftersom VB är ett högnivåstråk)

Permalänk: https://www.webforum.nu/p/1345011

## #8 — OveRRidE, 2004-05-12T14:16Z

Nej, självklart ökar inte själva metoden Option Explicit prestanda, men eftersom den tvingar fram deklarering, som du säger, så blir det ju indirekt så. 

Missförstånd. :)

Permalänk: https://www.webforum.nu/p/1345015

## #9 — JonasG, 2004-05-14T06:47Z

Det är alltså bra att köra Option E när man utvecklar, för att det skall bli så bra som möjligt, men inte när sidan skall släppas? För de e väl lika bra om användarna inte kan se felmeddelandena.

Permalänk: https://www.webforum.nu/p/1345971

## #10 — Erik Juhlin, 2004-05-14T06:58Z

Felen som kommer när man kör med Option Explicit är endast när variabler är odeklarerade. Och man släpper sällan en sida utan att deklarera en variabel.
Och gör man det så är det bättre att ett fel kommer direkt än att man får mystiska fel som är svåra att hitta.

Jag har hört att användande av Option Explicit faktiskt ska ge bättre prestanda eftersom att VBScript-motorn inte behöver leta efter odeklarerade variabler utan förutsätter att alla är deklarerade. Men inget jag fått från någon tillförlitlig källa. :)

Jag anser i alla fall att man alltid bör använda sig av Option Explicit. Finns inga nackdelar som jag ser det! :)

Permalänk: https://www.webforum.nu/p/1345974

## #11 — LeonL, 2004-05-14T07:08Z

> **Erik Juhlin skrev:**
>
> Jag har hört att användande av Option Explicit faktiskt ska ge bättre prestanda eftersom att VBScript-motorn inte behöver leta efter odeklarerade variabler utan förutsätter att alla är deklarerade. Men inget jag fått från någon tillförlitlig källa.

Jag har även hört att VBScript-motorn inte behöver reservera platsminne för odeklarerade variabler, utan endast för deklarerade, när man använder Option Explicit.

Permalänk: https://www.webforum.nu/p/1345980

## #12 — Palle, 2004-05-14T07:13Z

> **4guysfromrolla skrev:**
>
> When Option Explicit is used, all variables must be explicitly declared before being used. This greatly enhances readability and prevents an entire class of silly typographical errors and bugs that can occur when Option Explicit is not used. Not only does Option Explicit lead to more readable and maintainable code, Option Explicit also increases performance by up to 10%! There is no reason why you shouldn't use Option Explicit on every ASP page!

[Artikel 1](http://www.4guysfromrolla.com/webtech/060700-1.shtml)
[Artikel 2](http://www.4guysfromrolla.com/webtech/faq/Intermediate/faq6.shtml)

Permalänk: https://www.webforum.nu/p/1345985

## #13 — Palle, 2004-05-14T07:20Z

Tillägg till mitt inlägg ovan: :) 

> **Microsoft skrev:**
>
> Perhaps more important, it turns out that declared variables are faster than undeclared variables. Under the covers, the scripting run time references undeclared variables by name, every time they are used. Declared variables, on the other hand, are assigned an ordinal, either at compile time or run time. Subsequently, declared variables are referenced by this ordinal. Since Option Explicit forces variable declaration, it insures that all variables are declared and thus will be accessed quickly.

[Källa](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnasp/html/ASPtips.asp#asptips_topic11)
&nbsp;

Permalänk: https://www.webforum.nu/p/1345990

---

Tråden på webben: https://www.webforum.nu/amne/asp/103434-tjänar-på-option-explicit
