최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

자주 쓰는 기능에 대해 매번 구성하는 것이 아니라 함수로 묶어서 일괄적으로 관리하고 필요에 따라서 호출하는것을

 

함수라고한다.

 

함수의 정의되어 메모리 스택에 저장되면 우리는 함수의 이름을 불러서 쓰기만 하면된다.

 

일반적인 함수의 형식은 다음과 같다.

 

function 함수의 이름(매개변수):반환타입{

//실행구문

}

 

매개변수가 없고, 반환값이 없는 함수에 직접 값을 넣어보자면

function myFunc():void{
	trace("함수가 실행되었다.");
}

myFunc();

//결과
함수가 실행되었다.

 

 

반환값이 없고, 매개변수는 있는 함수에는 다음과 같이 사용할 수 있다.

function myFunc(a:int, b:int):void{
	trace(a+b);
}
myFunc(90,10);

//결과
100

 

 

함수의 반환값을 이용해서 사용하면

function myFunc(a:int, b:int):int{
	return a+b
}

var howMuch:int = myFunc(90,10);
trace(howMuch); //결과 100

 

 

매개변수의 기본값 사용하기. 3.0에서 추가된 기능으로 매개변수에 기본값을 사용할 수 있게되었다.

function myFunc(a:int, b:int = 90):int{
	return a+b
}

var howMuch:int = myFunc(10);
trace(howMuch); //결과 100

 

myFunc의 a,b중 b파라메터의 기본값이 90이다.

함수를 호출할때 10만 전달하면 a=10, b=90 인상태에서 연산을 시작한다.

결과는 100

주의사항으로는 myFunc와 같이 함수 매개변수의 기본값은 반드시 뒷부분에 적어주어야 한다.

왜냐하면 매개변수에 대한 순서가 a값부터 전달되어지기 때문에

myFunc(a=20, b) 로 앞에다가 표현하면 myFunc(10)으로 표현하면 b부분은 값이 비게(empty) 되므로 에러가 발생하기 때문.

 

 

매개변수를 무제한으로 받아들이는 배열메서드 "...arg"를 이용하기

function myFunc(fix:String, ...args):void{

	var sum:int;

	for(var i:uint=0; i<args.length; i++){
		if(!isNaN(args[i])){
			sum+=args[i];
		}
	}

	trace(fix + sum);
}

myFunc("나의합은", 1,2,3,"방해",4); //나의합은10

 

1 : 매개변수 fix는 문자열 인자값, ...args는 배열 매개변수로써 모든값을 배열에 저장한다.

5 : args에는  1,2,3,"방해",4  값이 들어있을 것이다.  갯수로는 5개이고, i가 0부터 시작하므로 0~4까지 총 5번 반복하게 될 것이다.

6 : isNaN() 메서드는 is Not a Number 즉, 숫자가 아닌것을 골라내는 메서드로 데이터형이 숫자형이 아닐경우

    isNaN() 은 말그래도 숫자가 아니면 true, 숫자이면 false를 반환한다.

    그런데 "!" 를 써서 반대로 표현하므로 숫자이면 true로 if문을 통과하게 된다.

7 : 조건문을 통과한 숫자형 타입들은 sum변수에 누적되어 더하기로 쌓이게되고

11 : for문을 마치고 최종 출력문에는 "나의합은10" 이 뜨게된다.

    숫자가 아니면 false로

'■ 플래시 ■ > Adobe ActionScript3.0' 카테고리의 다른 글

13. String 타입  (0) 2013.10.19
12. Number 타입  (0) 2013.10.19
10. 반복문  (0) 2013.10.19
9. 조건문  (0) 2013.10.19
8. 연산자  (0) 2013.10.17
댓글