ADOBE/ ActionScript

액션 스크립트 변수,변수참조 관련 테스트

AlrepondTech 2011. 4. 22. 17:13
반응형

 

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

TEST fla 파일( test.fla) 코드

trace("TEST START");
var av:Testpsj = new Testpsj();


TEST as 파일(Testpsj.as) 코드

class Testpsj {
   
    // Constants:
    public static var CLASS_REF = Testpsj;
   
    public function Testpsj() {
        // constructor code
        trace("11 _ 121 Start");// 10 15
       
        var p1:Number = 1;
        var p2:Number = 2;
        trace(p1+"_"+p2);
       
        Test(p1,p2); //그냥 변수를 넘긴 함수 테스트
       
        trace("c_val"+"="+p1+"_"+p2);
       
        trace("END");
       
        trace("class Start");
       
        var rec:TTestRec = new TTestRec();
        rec.X = 1;
        Test2(rec); //그냥 객체를 넘긴 함수 테스트
       
        trace("TEST2_VAL "+rec.X);
       
        trace("class END");


        trace("class2 Start");
       
       
        var rec2:TBaseRec = new TBaseRec();
        rec2.X = 0;
       
        trace("rec2:"+rec2);
       
        rec2 = rec; // 객체 rec2로 복사인지 객체를 넘기는지 알아네기위해 테스트!!
       
        trace("rec:"+rec.X+" "+"rec2:"+rec2.X);
        rec.X = 1;
        trace("rec.X = 1;");
        trace("rec:"+rec.X+" "+"rec2:"+rec2.X);
       
        trace("class2 END");
    }
   
    public function Test($p1:Object, $p2:Object):Void
    {
        trace($p1+"_"+$p2);
       
        $p1 =4;
        $p2 =5;
       
        trace($p1+"_"+$p2);
       
       
    }
   
    public function Test2(p1:TTestRec):Void
    {
        trace("TEST2 "+p1.X);
       
        p1.X = 9;
   
       
        trace("TEST2 "+p1.X);
     
    }

TEST as 파일(TTestRec.as) 코드 (객체테스트용)
class TTestRec
{
    public var X:Number;
  
    public function Init():Void
    {
        X=0;
      
    }
}   


   
    결과값

11 _ 121 Start //그냥 변수를 넘긴 함수 테스트
1_2
1_2
4_5
c_val=1_2 //변수는 값이 그대로
END

class Start //클래스 객체를 넘긴 함수
TEST2 1
TEST2 9
TEST2_VAL 9 // 함수설정 값으로 값이 바낌
class END

class2 Start
rec2:0
rec:9 rec2:9
rec.X = 1;
rec:1 rec2:1
class2 END //이것으로 보아 값의 복사가 아니고 객체를 넘기는 것을 알수있다.

 

 

=================================

=================================

=================================

 

 

 

반응형