Goede middag allemaal,
Weet iemand of het mogelijk is in Javascript een recursieve functie te schrijven?
Ik ben vanochtend een paar uur aan het pielen geweest, maar het lijkt erop dat Javascript recursie niet leuk vind.
Dit is de code die ik gebruik
variabelen
aanroep
functie
Deze code kun je gewoon draaien om te zien wat ie doet.
Alvast bedankt.
Weet iemand of het mogelijk is in Javascript een recursieve functie te schrijven?
Ik ben vanochtend een paar uur aan het pielen geweest, maar het lijkt erop dat Javascript recursie niet leuk vind.
Dit is de code die ik gebruik
variabelen
code:
1
2
3
4
5
6
7
8
| var arrTabNames;
arrTabNames = new Array('Menu', 'A', 'Methodology', 'B', 'Library', 'C', 'Admin', 'D');
var arrTabNamesA;
arrTabNamesA = new Array('Homepage', 'AA', 'Search', 'AB', 'Support', 'AC', 'Logout', 'AD', 'Options', 'AE');
var arrTabNamesB;
arrTabNamesB = new Array('Consulting Services', 'BA', 'Resource Solutions', 'BB', 'E-Procurement', 'BC');
var arrTabNamesD;
arrTabNamesD = new Array('Methodology', 'DA', 'Documents', 'DB', 'Users', 'DC', 'Autorisation', 'DD', 'Recycle bin', 'DE', 'Support', 'DF', 'Styles', 'DG', 'Reports', 'DH', 'Weblog', 'DI'); |
aanroep
code:
1
| createTabs(1, 2, 'arrTabNames', ''); |
functie
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| function createTabs(iStartDepth, iDepth, sArrName, sTabs)
{
var i, iArrLength, iCurrentDepth;
var sCurrentTab;
iArrLength = eval(sArrName +'.length');
// alert(iArrLength);
for(i = 0; i < iArrLength; i = (i + 2))
{
sTabs = sTabs + '<span id="' + eval(sArrName + '[' + i + ']') + '" class="cToptab_off" onclick="init(' + i + ')" onmouseover="javascript:hilite(document.all.' + eval(sArrName + '[' + i + ']') + ');" onmouseout="javascript:dehilite(document.all.' + eval(sArrName + '[' + i + ']') + ');">' + eval(sArrName + '[' + i + ']') + '</span>';
// alert(iStartDepth + ' < ' + iDepth);
if(iStartDepth < iDepth)
{
iCurrentDepth = iStartDepth++;
sArrName = sArrName + eval(sArrName + '[' + ((i * 2) + 1) + ']');
// alert(sArrName);
createTabs(iCurrentDepth, iDepth, sArrName, sTabs);
}
}
MenuTabs.innerHTML = sTabs;
// alert(sTabs);
} |
Deze code kun je gewoon draaien om te zien wat ie doet.
Alvast bedankt.
| Life is a game (and games are fun) | homepage |