---
title: "Nybörjar problem nolla en variabel"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/39995-nybörjar-problem-nolla-en-variabel"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Zaiman"
published: "2002-03-20T13:56:17.000Z"
updated: "2002-03-20T16:12:21.000Z"
replies: 4
views: 276
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/javascript/39995-nybörjar-problem-nolla-en-variabel"
---

# Nybörjar problem nolla en variabel

## #1 — Zaiman, 2002-03-20T13:56Z

Hejsan alla script älskare.

Jag har en nybörjarfråga.

Jag har deklarerat en variabel utanför alla functioner, sedan i en function har jag en räknare som räknar upp denna variabel.

Hur gör jag för att återställa den variabelns urspungsvärde?

En knåpande amatör

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

## #2 — Jojoxx, 2002-03-20T14:54Z

Enklast genom att skicka med variabeln som ett argument till funktionen.

```
function myfunc(myVar){
   myVar+=200;
   alert("Nu har vi räknat lite med värdet som skickades till funktionen och resultatet är "+myVar);
}

var a = 123;
myfunc(a);
alert("Utanför funktionen (efter anropet) är variabeln a fortfarande "+a);
```

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

## #3 — Zaiman, 2002-03-20T15:15Z

Fortfarande nybörjare..

Så här har jag provat men utan resultat.
Jag förstår din tanke men i mitt fall fungerar det inte (jag gör säker fel)

var rakna = 0
function flytta(lager,rakna)
{
	if (rakna \< 21)	
		{
		rakna++
		document.all\[lager\].style.top = rakna
		setTimeout("flytta('lager',rakna)
		// här vill jag gör en timeout på X antal millisekunder typ setTimeout
		// loopen fungerar om jag hårdkodar vilket layer som ska flyttas och inte skickar med någon parameter
		}
}

function HideAll()
{
		gom('Datormenu')
		gom('tjanstmenu')
		gom('kursmenu')
		gom('infomenu')
}

function Showmenu(menu)
{
	if (menu == 'Datormenu')
		{
		visa('Datormenu')

// Här skickar jag till functionen flytta
		flytta('Datormenu','rakna')

		gom('tjanstmenu')
		gom('kursmenu')
		gom('infomenu')
		}
	else if (menu == 'tjanstmenu')
		{
		gom('Datormenu')
		visa('tjanstmenu')
		gom('kursmenu')
		gom('infomenu')
		}
	else if (menu == 'kursmenu')
		{
		gom('Datormenu')
		gom('tjanstmenu')
		visa('kursmenu')
		gom('infomenu')
		}
	else if (menu == 'infomenu')
		{
		gom('Datormenu')
		gom('tjanstmenu')
		gom('kursmenu')
		visa('infomenu')
		}
}

function visa(layer)
{	
var lager = layer	
 if (document.all)
	{
		document.all\[layer\].style.visibility = "visible";
	
	}
  else if (document.layers)
	{
	document\[layer\].visibility ="show";
	}
}

function gom(layer)
{		
 if (document.all)
	{
	document.all\[layer\].style.visibility = "hidden";
	}
  else if (document.layers)
	{
	document.layers\[layer\].visibility ="hide";
	}
}

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

## #4 — Jojoxx, 2002-03-20T15:51Z

Det är en klassiker...

Har du en funktion som ser ut så här;

function myfunc(argA,argB){
// lite kod här...
}

och sedan anropar du den med;

myfunc(100,200);

och sist i functionen vill du sätta en timeout som kör funktionen igen efter 100 ms så skriver du;

setTimeout("myfunc(argA,argB);",100);

Detta gör att uttrycket "myfunc(argA,argB);" lagras och körs efter 100 ms. ... vad händer då, jo "myfunc(argA,argB)" körs ... men argA och argB är ju då odefinierade... eller hur? Det du egentligen vill göra är att sätta en timeout och sedan använda VÄRDET argA och argB, inte bara namnet på variablerna, således får du använda eval;

```
<script>
function flytta(lager,rakna){ 
if (rakna < 21){ 
	rakna++
	document.all[lager].style.top = rakna 
	eval("setTimeout(\"flytta('"+lager+"',"+rakna+")\",20);");
} 
} 
</script>
<div id="foo" style="position:absolute;top:0px;left:0px;">aaaaa</div>
<br>
<a href="#" onClick="flytta('foo',0);">Click me</a>
```

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

## #5 — Zaiman, 2002-03-20T16:12Z

En tackar..

Tusen tack Jojoxx nu har jag lär mig något nytt idag oxå.

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/39995-nybörjar-problem-nolla-en-variabel
