Hallo,
Technisch gibt es eine Beschränkung aber nur dahingehend, das die Vergleichswerte im Vornherein bekannt sein müssen, das ist beim if/else Konstrukt nicht der Fall. So etwas wie if(function_1() == function_2()) geht im switch() nicht.
JavaScript erlaubt auch das:
function function_1(x)
{
return x*x;
}
function function_2(y)
{
return y+4;
}
switch(true)
{
case(function_1(3) == function_2(5)):
alert("ok");
break;
// ...
}
BTW: Netscape 4 soll lt. frueheren Threads dabei crashen, was ich mit 4.72 aber nicht reproduzieren kann.
MfG, Thomas