패키지 | 최상위 레벨 |
클래스 | public class arguments |
상속 | arguments Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
이 인수는 배열 요소로 저장됩니다. 즉, 첫 번째 인수는 arguments[0]
으로 액세스되고, 두 번째 인수는 arguments[1]
로 액세스됩니다. arguments.length
속성은 함수에 전달된 인수의 개수를 나타냅니다. 함수에 선언된 인수의 수와 함수에 전달되는 인수의 수는 서로 다를 수 있습니다.
이전 버전의 ActionScript와 달리 ActionScript 3.0에는 arguments.caller
속성이 없습니다. 따라서 현재 함수를 호출한 함수에 대한 참조를 가져오려면 해당 함수에 대한 참조를 인수로 전달해야 합니다. 이 방법을 사용한 예제는 arguments.callee
관련 예제를 참조하십시오.
ActionScript 3.0에는 arguments 클래스를 대신할 ...(rest)
키워드가 새로 도입되었습니다.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
callee : Function
현재 실행 중인 함수에 대한 참조입니다. | arguments | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
length : Number
함수에 전달된 인수의 수입니다. | arguments |
callee | 속성 |
public var callee:Function
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
현재 실행 중인 함수에 대한 참조입니다.
예제 ( 예제 사용 방법 )
secondFunction()
라는 함수를 호출하는 함수에 대한 참조를 가져오는 방법을 보여 줍니다. firstFunction()
함수는 부울 인수 true
를 사용하여 secondFunction()
에서 firstFunction()
을 성공적으로 호출했음을 나타내며, 이는 각 함수가 상대방을 호출하는 무한 루프를 막기 위한 것입니다.
callSecond
매개 변수가 true
이므로 firstFunction()
에서는 secondFunction()
을 호출하고 유일한 인수로 자신에 대한 참조를 전달합니다. secondFunction()
함수는 이 인수를 받은 후 Function 데이터 유형의 caller
매개 변수를 사용하여 인수를 저장합니다. 그런 다음 secondFunction()
내에서 caller
매개 변수를 사용하여 firstFunction
함수를 호출합니다. 그러나 이번에는 callSecond
인수를 false
로 설정합니다.
실행 포인터가 firstFunction()
으로 돌아오면 trace()
문이 실행되는데 이때 callSecond
가 false
입니다.
package { import flash.display.Sprite; public class ArgumentsExample extends Sprite { private var count:int = 1; public function ArgumentsExample() { firstFunction(true); } public function firstFunction(callSecond:Boolean) { trace(count + ": firstFunction"); if(callSecond) { secondFunction(arguments.callee); } else { trace("CALLS STOPPED"); } } public function secondFunction(caller:Function) { trace(count + ": secondFunction\n"); count++; caller(false); } } }
length | 속성 |
public var length:Number
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
함수에 전달된 인수의 수입니다. 이 값은 함수에 선언된 수보다 많거나 적을 수 있습니다.
arguments
속성, 예를 들어 callee
및 length
등을 사용하는 방법을 보여 줍니다.
package { import flash.display.Sprite; public class ArgumentsExample extends Sprite { public function ArgumentsExample() { println("Hello World"); } public function println(str:String):void { trace(arguments.callee == this.println); // true trace(arguments.length); // 1 trace(arguments[0]); // Hello World trace(str); // Hello World } } }
Tue Jun 12 2018, 03:17 PM Z