Vroeger op de basisschool heb ik nog geleerd dat je bij het rekenen alles netjes in volgorde moet doen. Ezelsbruggetje was "Meneer van Dale wacht op antwoord" -> machtsverheffen, vermenigvuldigen, delen, worteltrekken, optellen, aftrekken.
Maar hoe zit dat bij JavaScript en VBScript? Hieronder heb ik een functie, gedefinieerd in JavaScript en in VBScript. Als ik de functies aanroep krijg ik echter geheel andere antwoorden, naar boven afgerond krijg ik van het VBScript 941 terug en van het JavaScript 6.

Maar hoe zit dat bij JavaScript en VBScript? Hieronder heb ik een functie, gedefinieerd in JavaScript en in VBScript. Als ik de functies aanroep krijg ik echter geheel andere antwoorden, naar boven afgerond krijg ik van het VBScript 941 terug en van het JavaScript 6.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| <HTML>
<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Function inleg(doelbedrag, looptijd, startbedrag, r)
Dim tmp
If looptijd = 0 Then
inleg = 0
Else
If r = 0 Then
inleg=(doelbedrag-startbedrag)/looptijd
Else
tmp = startbedrag * (1+r/100) ^ looptijd
inleg = (doelbedrag-tmp) * (r/100) / ((1+r/100)^looptijd-1)
End If
End If
End Function
-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
function inleg(doelbedrag, looptijd, startbedrag, r) {
var tmp;
if (looptijd == 0)
return 0;
else {
if (r == 0)
return (doelbedrag-startbedrag)/looptijd;
else {
tmp = startbedrag * (1+r/100) ^ looptijd;
return (doelbedrag-tmp) * (r/100) / ((1+r/100)^looptijd-1);
}
}
}
-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<B>VBScript:</B><BR>
<SCRIPT LANGUAGE="VBScript">
<!--
Document.Write(inleg(66963, 60, 1000, 0.5))
-->
</SCRIPT>
<BR>
<BR><B>JavaScript:</B><BR>
<SCRIPT LANGUAGE="JavaScript">
<!--
document.writeln(inleg(66963, 60, 1000, 0.5));
-->
</SCRIPT>
</BODY>
</HTML> |