/ Forside/ Teknologi / Udvikling / Java Scripts / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Argument liste i javascript?
Fra : olaf
Vist : 915 gange
100 point
Dato : 31-01-01 15:13

Kan det lade sig gøre i javascript at have en funktion hvor man ikke kender antal argumenter der kommer?

F.eks.

function mintest(arg)
{
for (i =0; i<arg.count(); i++)
document.write(arg[i]);
}

Så man kan kalde den : mintest("test1","test2","test3");

Mit problem er, at jeg ved ikke hvor mange argumenter som kommer ind til funktionen. Dette kan sagtens lade sig gøre i C/C++, så jeg håber det også kan i javascript.

>Olaf


 
 
Accepteret svar
Fra : sandy

Modtaget 110 point
Dato : 31-01-01 15:29

Hej Olaf,

Det kan du også i javascript, her er en kode som preloader dine billeder, denne funktion tager imod lige så mange billed argumenter du har lyst til :

<script language="javascript">
function preload() {
if (!document.images) return;
var ar = new Array();
var arguments = preload.arguments;
for (var i = 0; i < arguments.length; i++) {
ar[i] = new Image();
ar[i].src = arguments[i];
}
}
</script>
Kaldes således :

<BODY onLoad="preload('1.gif', '2.gif', '3.gif')">

Håber det var hvad du søgte.

Sandy


Kommentar
Fra : Nyhedsbruger


Dato : 31-01-01 17:02

Det kan godt lade sig gøre, men jeg kan ikke huske hvordan! (Nå ja det var
ikke så meget hjælp men hva...)

/Marten



Kommentar
Fra : Nyhedsbruger


Dato : 31-01-01 22:24

"Marten Ølgaard" ::
> Det kan godt lade sig gøre, men jeg kan ikke huske hvordan! (Nå ja det var
> ikke så meget hjælp men hva...)

Olaf havde da i hvert fald begyndelsen,
resten følger her:


<skriiiiiiiiiipt>
var i = jegvedikkehvormangederer

for (i= 0; i< 70; i++) {

if(i) GørNoget70Gange

}
</skriiiiiiiiiipt>


Udskift GørNoget70Gange med
det du ønsker skal ske 70 gange.

Hvis der ikke er 70 i-er så lader
den være med at gøre noget med
de sidste, som jo heller ikke er der

--
[claus]




Kommentar
Fra : Nyhedsbruger


Dato : 31-01-01 22:32

"Claus Schmidt" ::

> var i = jegvedikkehvormangederer

start evt. med at erklære den som tom,
det kan være det er en bedre ide

var i = ''

(to "plinger" ikke et anførselstegn)

--
[claus]





Kommentar
Fra : Nyhedsbruger


Dato : 01-02-01 00:06

Olaf, før du skriver at det ikke
virker, så lad mig forklare dig
hvorfor.

Du laver en tæller som du
kalder for "i". Den øger du så
fra 0 til 1 til 2 ... til 69.

Derefter sætter du en betingelse
ind der siger, at hvis der er en "i",
så skal den gøre noget.

Og *selvfølgelig* er der da en "i",
for den står jo lige så stille og roligt
og tæller op fra 0 til 69. Tsk, tsk.

Og selvfølgelig er det ikke dig
som gør det, men mig der var
for hurtig på tasterne. Lad mig
prøve at gøre det godt igen
med et eksempel:

Du har f.eks. nogle argumenter.
Dem har du i en liste, som er
erklæret sådan:

...................
function buildArray() {
var a = buildArray.arguments;
for (i=0; i<a.length; i++) {
this[i] = a[i];
}
this.length = a.length;
}


var Argumenter = new buildArray(
"a",
"b",
....
"n");
...................

Så skriver du f.eks. noget som
*ligner* det jeg mente da jeg
skrev det første som ikke er
helt det samme som dette:

...................
for (var i= 0; i< 70; i++) {

if(Argumenter[i]) GørNoget

}
...................


Den lille forskel som gør så stor
forskel, er at "i" stadig tæller op
til 70, men GørNoget bliver kun
udført, hvis der er et argument
i listen med det nummer som
i er nået til.

Husk at det første argument i
listen har nummer 0, så kan
det ikke gå helt galt.


Jeg håber du kunne bruge dette
til noget og undskylder mange
gange mine to foregående indlæg.

--
[claus]



Godkendelse af svar
Fra : olaf


Dato : 02-02-01 14:24

Tak for svaret sandy.
                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177578
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste