ActionScript 3.0에서는 프로그램 흐름을 제어하는 데 사용할 수 있는 세 가지 기본 조건문을 제공합니다.
if..else
if..else
조건문을 사용하면 조건을 테스트한 다음 해당 조건이 존재하면 코드 블록을 실행하고 해당 조건이 존재하지 않으면 다른 코드 블록을 실행할 수 있습니다. 예를 들어 다음 코드에서는
x
값이 20을 초과하는지 테스트한 다음 20을 초과하면
trace()
함수를 호출하고 20을 초과하지 않으면 다른
trace()
함수를 호출합니다.
if (x > 20)
{
trace("x is > 20");
}
else
{
trace("x is <= 20");
}
다른 코드 블록을 실행하지 않으려면
else
문 없이
if
문을 사용할 수 있습니다.
if..else if
if..else if
조건문을 사용하여 둘 이상의 조건을 테스트할 수 있습니다. 다음 코드는
x
값이 20을 초과하는지 여부를 테스트할 뿐 아니라
x
값이 음수인지 여부도 테스트합니다.
if (x > 20)
{
trace("x is > 20");
}
else if (x < 0)
{
trace("x is negative");
}
if
또는
else
문 다음에 단 하나의 명령문이 오는 경우 명령문을 중괄호로 묶지 않아도 됩니다. 예를 들어 다음 코드에서는 중괄호를 사용하지 않습니다.
if (x > 0)
trace("x is positive");
else if (x < 0)
trace("x is negative");
else
trace("x is 0");
그러나 명령문이 나중에 중괄호가 없는 조건문에 추가될 경우 예기치 못한 비헤이비어가 발생할 수 있으므로 항상 중괄호를 사용하는 것이 좋습니다. 예를 들어, 다음 코드에서는 조건이
true
로 평가되는지에 관계없이
positiveNums
의 값은 1씩 증가합니다.
var x:int;
var positiveNums:int = 0;
if (x > 0)
trace("x is positive");
positiveNums++;
trace(positiveNums); // 1
switch
switch
문은 동일한 조건 표현식에 따라 실행 경로가 여러 가지로 달라지는 경우에 유용합니다. 일련의
if..else if
문과 유사한 기능을 제공하지만 보다 쉽게 읽을 수 있습니다.
switch
문은 조건의 부울 값을 테스트하는 대신 표현식을 평가하고 그 결과를 사용하여 실행할 코드 블록을 결정합니다. 코드 블록은
case
문으로 시작하고
break
문으로 끝납니다. 예를 들어, 다음
switch
문은
Date.getDay()
메서드에서 반환된 일수에 따라 요일을 표시합니다.
var someDate:Date = new Date();
var dayNum:uint = someDate.getDay();
switch(dayNum)
{
case 0:
trace("Sunday");
break;
case 1:
trace("Monday");
break;
case 2:
trace("Tuesday");
break;
case 3:
trace("Wednesday");
break;
case 4:
trace("Thursday");
break;
case 5:
trace("Friday");
break;
case 6:
trace("Saturday");
break;
default:
trace("Out of range");
break;
}
|
|
|