본문 바로가기

AS

with의 유용성

with 문은 범위 체인 목록에 있는 여러 항목을 동시에 액세스할 때 유용합니다. 다음 예제에서는 내장 Math 객체가 범위 체인의 맨 앞에 옵니다. Math를 기본 객체로 설정하면 식별자 cos, sinPI는 각각 Math.cos, Math.sinMath.PI로 확인됩니다. 식별자 a, x, yr는 Math 객체의 메서드나 속성은 아니지만 polar() 함수의 객체 활성화 범위 내에 존재하기 때문에 해당 로컬 변수로 확인됩니다.

function polar(r:Number):void { 
    var a:Number, x:Number, y:Number; 
    with (Math) { 
        a = PI * pow(r, 2); 
        x = r * cos(PI); 
        y = r * sin(PI / 2); 
    } 
    trace("area = " + a); 
    trace("x = " + x); 
    trace("y = " + y); 
} polar(3);
/* output: 
area = 28.2743338823081 
x = -3 
y = 3
*/

이렇게 네임클래스를 대신해서 사용할 수도 있고
다음처럼 변수를 대신해서 사용할 수도 있다
.












var rect:Sprite;
tempArr.push(rect);
.
여러개 추가
.
for(i=0; i<tempArr.length; i++)
{
 
with(tempArr[i])
 {
  graphics.beginFill(0xFF0000);
  graphics.drawRect(0,0,100,10):
  graphics.endFill();
 }
}