180bpm

[AS2/AS3] 선언과 동시에 초기화 시킬때 생기는 문제 본문

Flash

[AS2/AS3] 선언과 동시에 초기화 시킬때 생기는 문제

powdersnow 2014. 2. 18. 14:27


AS2

class testAS2
{
	public var arr:Array [];
	public var i:Number 0;
	public function testAS2()
	{
		trace("testAS2");
		trace(arr.length);
	}
}

AS3

package 
{
	public class testAS3 
	{
		public var arr:Array [];
		public var i:Number 0;
	
		public function testAS3() 
		{
			trace("testAS3");
			trace(arr.length);
		}
	}
}


testCode

import testAS2;
			
var a:testAS2 new testAS2;
a.arr.push(0);
a.arr.push(1);
a.arr.push(2);
var b:testAS2 new testAS2;
trace("//////////////");
trace(a.arr.length);
b.arr[03;
trace(a.arr);
trace(b.arr);


뭔 얘기 하다가 나왔는지 기억은 안나는데, 여튼 AS2에서 이런 문제가 있었다고 설명하는 시간이 생겼다.

AS2 TEST

testAS2

0

testAS2

3

//////////////

3

3,1,2

3,1,2


AS3 TEST
testAS3
0
testAS3
0
//////////////
3
0,1,2
3

난 AS2때만 기억하고 선언부에서 초기화 하면 문제가 있다. 라고 말했는데
테스트해보니 AS3은 의도한대로 잘 나온다.




Comments