| Package | 톱 레벨 |
| Class | public class arguments |
| Inheritance | arguments Object |
인수는 배열 엘리먼트로서 보존되어 최초의 인수는 arguments[0] 으로서 2 번째의 인수는 arguments[1] 과 같이 액세스 됩니다. arguments.length property는, 함수에게 건네지는 인수의 수를 나타냅니다. 함수로 선언된 수와 다른 수의 인수가 건네받는 경우도 있습니다.
이전의 버젼의 ActionScript 과는 달리, ActionScript 3.0 에는 arguments.caller property가 없습니다. 현재의 함수를 호출한 함수에의 참조를 취득하려면 , 그 함수에의 참조를 인수로서 건네줄 필요가 있습니다. 이 테크닉의 예에 대해서는,arguments.callee 의 예를 참조해 주세요.
ActionScript 3.0 에서는, 새롭고 ...(rest) 키워드가 포함되어 있습니다. arguments 클래스는 아니고, 이 명령문(statement)를 사용하는 것을 추천합니다.
See also
| property | 정의 | ||
|---|---|---|---|
| callee : Function
현재 실행중의 함수에의 참조입니다.
| arguments | ||
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
| length : Number
함수에게 건네지는 인수의 수입니다.
| arguments | ||
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
| callee | property |
public var callee:Function 현재 실행중의 함수에의 참조입니다.
secondFunction() 라는 이름의
함수를 호출하는 함수에의 참조를 취득합니다. firstFunction() 함수는, 불 인수
true 를 가져,
secondFunction() 가 firstFunction() 를 정상적으로 호출하고 있는 것을 나타내,
각 함수가 한편의 함수를 서로 호출하는 것에 의한 엔들레스 루프를 막습니다.
callSecond Parameters가 true 이기 (위해)때문에,firstFunction() 는
secondFunction() 를 호출해, 자신에게로의 참조를
유일한 인수로서 건네줍니다. 함수 secondFunction() 는,
데이터형이 Function 로,caller 라는 이름의 Parameters를 사용해, 이 인수를 받아, 보존합니다. 다음에,secondFunction() 내로부터,
caller Parameters로 firstFunction 함수를 호출합니다.
다만, 이 때,callSecond 인수는 false 로 설정됩니다.
실행이 firstFunction() 에 돌아오면,trace()
명령문(statement)가 실행됩니다. 이것은 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 | property |
public var length:Number 함수에게 건네지는 인수의 수입니다. 함수로 선언된 수보다 증감하는 경우가 있습니다.
callee 나 length 등의
다양한 arguments property의 사용법을 나타내고 있습니다.
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
}
}
}