Tuesday
Nov012011
More on the Switch Statement
Tuesday, November 1, 2011 at 3:30PM I said in class on Monday that you could neither mix string and numeric case clauses in switch statments nor next switch statements. I was wrong on both counts (JavaScript is much more flexible than I gave it credit for). Here's sample code that does exactly what I said yesterday wasn't possible.
var leftAlpha = document.getElementById('left').value;
var leftNum = parseInt(leftAlpha);
var rightAlpha = document.getElementById('right').value;
var rightNum = parseInt(rightAlpha);
var left = isNaN(leftNum) ? leftAlpha : leftNum;
var right = isNaN(rightNum) ? rightAlpha : rightNum;
switch(left)
{
case 'A':
switch(right)
{
case 'A':
alert('You entered A & A');
break;
case 'B':
alert('You entered A & B');
break;
case 1:
alert('You entered A & 1');
break;
case 2:
alert('You entered A & 2');
break;
}
break;
case 'B':
switch(right)
{
case 'A':
alert('You entered B & A');
break;
case 'B':
alert('You entered B & B');
break;
case 1:
alert('You entered B & 1');
break;
case 2:
alert('You entered B & 2');
break;
}
break;
case 1:
switch(right)
{
case 'A':
alert('You entered 1 & A');
break;
case 'B':
alert('You entered 1 & B');
break;
case 1:
alert('You entered 1 & 1');
break;
case 2:
alert('You entered 1 & 2');
break;
}
break;
case 2:
switch(right)
{
case 'A':
alert('You entered 2 & A');
break;
case 'B':
alert('You entered 2 & B');
break;
case 1:
alert('You entered 2 & 1');
break;
case 2:
alert('You entered 2 & 2');
break;
}
break;
default:
alert('bad input');
}
Joe Paris | Comments Off |